Software /
code /
prosody
Comparison
net/server_select.lua @ 7736:5a07fe977002
net.server_select: Prevent writes after a handler is closed (fixes #783 I hope)
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Tue, 22 Nov 2016 15:28:24 +0100 |
parent | 7097:5a71aaa2c542 |
child | 7738:0647b821e00a |
comparison
equal
deleted
inserted
replaced
7713:003ee2be2635 | 7736:5a07fe977002 |
---|---|
413 handler.clientport = function( ) | 413 handler.clientport = function( ) |
414 return clientport | 414 return clientport |
415 end | 415 end |
416 handler.port = handler.clientport -- COMPAT server_event | 416 handler.port = handler.clientport -- COMPAT server_event |
417 local write = function( self, data ) | 417 local write = function( self, data ) |
418 if not handler then return false end | |
418 bufferlen = bufferlen + #data | 419 bufferlen = bufferlen + #data |
419 if bufferlen > maxsendlen then | 420 if bufferlen > maxsendlen then |
420 _closelist[ handler ] = "send buffer exceeded" -- cannot close the client at the moment, have to wait to the end of the cycle | 421 _closelist[ handler ] = "send buffer exceeded" -- cannot close the client at the moment, have to wait to the end of the cycle |
421 handler.write = idfalse -- dont write anymore | 422 handler.write = idfalse -- dont write anymore |
422 return false | 423 return false |