From 367580d37b426ae29c4627076b0ae5d8ecf1ca23 Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Mon, 22 Oct 2018 11:34:49 +0200 Subject: [PATCH] Make sure StanzaCollector is cancelled even if nextResult(long) throws an InterruptedException when called in nextResultOrThrow(long). --- .../main/java/org/jivesoftware/smack/StanzaCollector.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/smack-core/src/main/java/org/jivesoftware/smack/StanzaCollector.java b/smack-core/src/main/java/org/jivesoftware/smack/StanzaCollector.java index 0b933909e..68110281b 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/StanzaCollector.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/StanzaCollector.java @@ -256,8 +256,12 @@ public class StanzaCollector { */ public

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);