From 064708cff03f480051b3155e5034aeaf948a0da5 Mon Sep 17 00:00:00 2001 From: mguessan Date: Wed, 11 May 2011 12:14:05 +0000 Subject: [PATCH] LDAP: cancel search threads on connection close, not request end git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@1679 3d1905a2-6b24-0410-a738-b14d5a86fcbd --- src/java/davmail/ldap/LdapConnection.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) 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(); - } - } } }