Mercurial > prosody-hg
comparison core/s2smanager.lua @ 3958:8bd0b2d4b9b0
s2smanager: send_to_host(): Handle already-destroyed session and bounce stanza accordingly
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Fri, 24 Dec 2010 04:56:37 +0000 |
| parents | b5223a74e07e |
| children | 32a2a4f522f8 |
comparison
equal
deleted
inserted
replaced
| 3957:b5223a74e07e | 3958:8bd0b2d4b9b0 |
|---|---|
| 124 -- Store in buffer | 124 -- Store in buffer |
| 125 host_session.sendq = { {tostring(data), st.reply(data)} }; | 125 host_session.sendq = { {tostring(data), st.reply(data)} }; |
| 126 log("debug", "stanza [%s] queued until connection complete", tostring(data.name)); | 126 log("debug", "stanza [%s] queued until connection complete", tostring(data.name)); |
| 127 if (not host_session.connecting) and (not host_session.conn) then | 127 if (not host_session.connecting) and (not host_session.conn) then |
| 128 log("warn", "Connection to %s failed already, destroying session...", to_host); | 128 log("warn", "Connection to %s failed already, destroying session...", to_host); |
| 129 destroy_session(host_session); | 129 if not destroy_session(host_session, "Connection failed") then |
| 130 -- Already destroyed, we need to bounce our stanza | |
| 131 bounce_sendq(host_session, host_session.destruction_reason); | |
| 132 end | |
| 130 return false; | 133 return false; |
| 131 end | 134 end |
| 132 end | 135 end |
| 133 return true; | 136 return true; |
| 134 end | 137 end |
