diff --git a/src/java/davmail/ldap/LdapConnection.java b/src/java/davmail/ldap/LdapConnection.java index 13d2d97e..73c008e2 100644 --- a/src/java/davmail/ldap/LdapConnection.java +++ b/src/java/davmail/ldap/LdapConnection.java @@ -485,6 +485,12 @@ public class LdapConnection extends AbstractConnection { DavGatewayTray.warn(new BundleMessage("LOG_EXCEPTION_SENDING_ERROR_TO_CLIENT"), e2); } } finally { + // cancel all search threads + synchronized (searchThreadMap) { + for (SearchRunnable searchRunnable:searchThreadMap.values()) { + searchRunnable.abandon(); + } + } close(); } DavGatewayTray.resetIcon(); @@ -583,13 +589,6 @@ public class LdapConnection extends AbstractConnection { DavGatewayTray.debug(new BundleMessage("LOG_EXCEPTION_SENDING_ERROR_TO_CLIENT"), e2); } throw e; - } finally { - // cancel all search threads - synchronized (searchThreadMap) { - for (SearchRunnable searchRunnable:searchThreadMap.values()) { - searchRunnable.abandon(); - } - } } }