mirror of
https://github.com/vanitasvitae/Smack.git
synced 2025-09-09 00:59:39 +02:00
Merge branch '4.4'
This commit is contained in:
commit
4fefa92e40
22 changed files with 288 additions and 132 deletions
|
@ -1143,16 +1143,27 @@ public class XMPPTCPConnection extends AbstractXMPPConnection {
|
|||
}
|
||||
}
|
||||
catch (Exception e) {
|
||||
// The exception can be ignored if the the connection is 'done'
|
||||
// or if the it was caused because the socket got closed.
|
||||
if (!done) {
|
||||
// Set running to false since this thread will exit here and notifyConnectionError() will wait until
|
||||
// the reader and writer thread's 'running' value is false.
|
||||
running = false;
|
||||
// Close the connection and notify connection listeners of the
|
||||
// error.
|
||||
notifyConnectionError(e);
|
||||
// Set running to false since this thread will exit here and notifyConnectionError() will wait until
|
||||
// the reader and writer thread's 'running' value is false. Hence we need to set it to false before calling
|
||||
// notifyConnetctionError() below, even though run() also sets it to false. Therefore, do not remove this.
|
||||
running = false;
|
||||
|
||||
String ignoreReasonThread = null;
|
||||
|
||||
boolean writerThreadWasShutDown = packetWriter.queue.isShutdown();
|
||||
if (writerThreadWasShutDown) {
|
||||
ignoreReasonThread = "writer";
|
||||
} else if (done) {
|
||||
ignoreReasonThread = "reader";
|
||||
}
|
||||
|
||||
if (ignoreReasonThread != null) {
|
||||
LOGGER.log(Level.FINER, "Ignoring " + e + " as " + ignoreReasonThread + " was already shut down");
|
||||
return;
|
||||
}
|
||||
|
||||
// Close the connection and notify connection listeners of the error.
|
||||
notifyConnectionError(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue