Review request - 8169465: Deadlock in com.sun.jndi.ldap.pool.Connections

Daniel Fuchs daniel.fuchs at
Wed Dec 14 16:58:57 UTC 2016

Hi Rob,

The expire(long) method is already synchronized, so there's no
need to call synchronized(this) inside, unless you forgot to
to remove synchronized from the method declaration?

I wonder if 'conns' could be created as a CopyOnWriteArrayList.
Then maybe no synchronization would be needed? It's the first time
I'm looking at this file - so please accept this as a suggestion
for a simpler (and possibly insufficient) alternative ...

best regards,

-- daniel

On 14/12/16 15:59, Rob McKenna wrote:
> Hi folks,
> Looking for a review of this change:
> This is necessary to fix a potential problem where recursive ldap calls
> can potentially cause a deadlock with the PoolCleaner thread.
> See:
>     -Rob

More information about the core-libs-dev mailing list