On 27/06/2008, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > Author: psteitz > Date: Thu Jun 26 19:48:06 2008 > New Revision: 672097 > > URL: http://svn.apache.org/viewvc?rev=672097&view=rev > Log: > Narrowed synchronization in AbandonedTrace to resolve an Evictor deadlock. > JIRA: DBCP-270 > Reported and patched by Filip Hanik. >
I've had a look at the patch and the JIRA, and I don't understand how narrowing the lock works here. Originally, the code locked on "this", whereas now the code uses "this.trace". However, as far as I can see, no objects were taken out of the locked blocks, and there is no other synchronization in the class. So what else was locking on "this"? So how does the change of lock object actually help here? Or is it just a byproduct of the synchronisation that was added to getTrace() as part of the patch? The lock details provided in the JIRA don't show any locks on the AbandonedTrace object - but this info could have been omitted. I'm not saying that the patch is wrong, but I would like to understand how it helps! --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]