aboutsummaryrefslogtreecommitdiffstats
path: root/util/promise.lua
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2021-11-30 18:19:40 +0100
committerKim Alvefur <zash@zash.se>2021-11-30 18:19:40 +0100
commit61348c0a7dba3522ee0a8f24467fb64538b1ec97 (patch)
treea21731318f57de3ae849de00aac398af9956ec2f /util/promise.lua
parent0bb07b9711102edc0ff7eb9ddfe5014f2d7b8594 (diff)
downloadprosody-61348c0a7dba3522ee0a8f24467fb64538b1ec97.tar.gz
prosody-61348c0a7dba3522ee0a8f24467fb64538b1ec97.zip
net.server_epoll: Prevent loop attempting to send last data after close
If the connection is closed by the peer, any buffered data is given a last chance to be sent (see f27b9319e0da). If the connection is Really closed, no attempt to write will occur, instead epoll will raise the error flag and :onreadable() will be invoked again, where it will try to :close() again for the same reason, thus looping until the connection somehow gets destroyed. By clearing the _connected flag, the second time it passes :onreadable() it should go directly to :destroy(), breaking the loop. Thanks Link Mauve for reporting
Diffstat (limited to 'util/promise.lua')
0 files changed, 0 insertions, 0 deletions