Make sure StanzaCollector is cancelled

even if nextResult(long) throws an InterruptedException when called in
nextResultOrThrow(long).
This commit is contained in:
Florian Schmaus 2018-10-22 11:34:49 +02:00
parent 06956a36b9
commit 367580d37b
1 changed files with 6 additions and 2 deletions

View File

@ -256,8 +256,12 @@ public class StanzaCollector {
*/
public <P extends Stanza> P nextResultOrThrow(long timeout) throws NoResponseException,
XMPPErrorException, InterruptedException, NotConnectedException {
P result = nextResult(timeout);
cancel();
P result;
try {
result = nextResult(timeout);
} finally {
cancel();
}
if (result == null) {
if (!connection.isConnected()) {
throw new NotConnectedException(connection, packetFilter);