X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;ds=sidebyside;f=net%2Fserver_event.lua;h=b467a84dc6c147e6f8ca034fb1e0809d5dcf25a7;hb=4e9ad86f42f78e32d5a983b62277a0552c853a9c;hp=5bff633de9367c425a0b2fe5aef007e87fa93c8b;hpb=44d3bb5734c78f4e968af118d1714bfc54435ec8;p=prosody.git diff --git a/net/server_event.lua b/net/server_event.lua index 5bff633d..b467a84d 100644 --- a/net/server_event.lua +++ b/net/server_event.lua @@ -291,7 +291,7 @@ do -- Public methods function interface_mt:write(data) if self.nowriting then return nil, "locked" end - vdebug( "try to send data to client, id/data:", self.id, data ) + --vdebug( "try to send data to client, id/data:", self.id, data ) data = tostring( data ) local len = string_len( data ) local total = len + self.writebufferlen @@ -516,7 +516,7 @@ do end end end - local usingssl, receive = interface._usingssl, interface.receive; + interface.readcallback = function( event ) -- called on read events --vdebug( "new client read event, id/ip/port:", interface, ip, port ) if interface.noreading or interface.fatalerror then -- leave this event @@ -531,7 +531,7 @@ do interface.eventread = nil return -1 else -- can read - if usingssl then -- handle luasec + if interface._usingssl then -- handle luasec if interface.eventwritetimeout then -- ok, in the past writecallback was regged local ret = interface.writecallback( ) -- call it --vdebug( "tried to write in readcallback, result:", ret ) @@ -552,7 +552,7 @@ do interface.eventread = nil return -1 end - if err and ( "timeout" ~= err ) then + if err and ( err ~= "timeout" and err ~= "wantread" ) then if "wantwrite" == err then -- need to read on write event if not interface.eventwrite then -- register new write event if needed interface.eventwrite = addevent( base, interface.conn, EV_WRITE, interface.writecallback, cfg.WRITE_TIMEOUT )