[tcp] Do not needlessly wait for closing stream tag

This commit is contained in:
Florian Schmaus 2020-05-31 14:15:13 +02:00
parent 84b7adb764
commit b7465e8200
1 changed files with 12 additions and 7 deletions

View File

@ -477,6 +477,10 @@ public class XMPPTCPConnection extends AbstractXMPPConnection {
} }
private void shutdown(boolean instant) { private void shutdown(boolean instant) {
// The writer thread may already been finished at this point, for example when the connection is in the
// disconnected-but-resumable state. There is no need to wait for the closing stream tag from the server in this
// case.
if (!packetWriter.done()) {
// First shutdown the writer, this will result in a closing stream element getting send to // First shutdown the writer, this will result in a closing stream element getting send to
// the server // the server
LOGGER.finer("PacketWriter shutdown()"); LOGGER.finer("PacketWriter shutdown()");
@ -486,6 +490,7 @@ public class XMPPTCPConnection extends AbstractXMPPConnection {
if (!instant) { if (!instant) {
waitForClosingStreamTagFromServer(); waitForClosingStreamTagFromServer();
} }
}
LOGGER.finer("PacketReader shutdown()"); LOGGER.finer("PacketReader shutdown()");
packetReader.shutdown(); packetReader.shutdown();