diff options
author | Kim Alvefur <zash@zash.se> | 2013-05-30 14:32:40 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2013-05-30 14:32:40 +0200 |
commit | 8d85647c37f3b1fd49e0d639d5646745672391bd (patch) | |
tree | dc6a45f79ff62be44b304e112ee80f9f9d017997 /plugins | |
parent | eeb633659f244fdcd3a6b1e132e8969e3266603a (diff) | |
download | prosody-8d85647c37f3b1fd49e0d639d5646745672391bd.tar.gz prosody-8d85647c37f3b1fd49e0d639d5646745672391bd.zip |
mod_c2s, mod_c2s: Send a whitespace on read timeout, to prod TCP into detecting if the connection died
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/mod_c2s.lua | 7 | ||||
-rw-r--r-- | plugins/mod_s2s/mod_s2s.lua | 7 |
2 files changed, 14 insertions, 0 deletions
diff --git a/plugins/mod_c2s.lua b/plugins/mod_c2s.lua index 1d2dd6dd..f9a270c7 100644 --- a/plugins/mod_c2s.lua +++ b/plugins/mod_c2s.lua @@ -262,6 +262,13 @@ function listener.ondisconnect(conn, err) end end +function listener.onreadtimeout(conn) + local session = sessions[conn]; + if session then + return session.send(' '); + end +end + function listener.associate_session(conn, session) sessions[conn] = session; end diff --git a/plugins/mod_s2s/mod_s2s.lua b/plugins/mod_s2s/mod_s2s.lua index ab5b7232..309940cf 100644 --- a/plugins/mod_s2s/mod_s2s.lua +++ b/plugins/mod_s2s/mod_s2s.lua @@ -624,6 +624,13 @@ function listener.ondisconnect(conn, err) end end +function listener.onreadtimeout(conn) + local session = sessions[conn]; + if session then + return session.sends2s(' '); + end +end + function listener.register_outgoing(conn, session) session.direction = "outgoing"; sessions[conn] = session; |