diff --git a/src/share/classes/com/sun/jndi/ldap/Connection.java b/src/share/classes/com/sun/jndi/ldap/Connection.java index dec38eb752d63f7556e36773c9713f2c2db89728..94067617ae1e85faa388c4da5a117e8a34a44728 100644 --- a/src/share/classes/com/sun/jndi/ldap/Connection.java +++ b/src/share/classes/com/sun/jndi/ldap/Connection.java @@ -656,14 +656,17 @@ public final class Connection implements Runnable { } nparent = notifyParent; } - } - if (nparent) { - LdapRequest ldr = pendingRequests; - while (ldr != null) { - ldr.notify(); - ldr = ldr.next; + if (nparent) { + LdapRequest ldr = pendingRequests; + while (ldr != null) { + + synchronized (ldr) { + ldr.notify(); + ldr = ldr.next; + } + } + parent.processConnectionClosure(); } - parent.processConnectionClosure(); } }