jakarta-jcs-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Scott Archer (JIRA)" <j...@apache.org>
Subject [jira] Created: (JCS-69) Synchronization Problem in JCSWorker
Date Thu, 15 Oct 2009 19:09:31 GMT
Synchronization Problem in JCSWorker
------------------------------------

                 Key: JCS-69
                 URL: https://issues.apache.org/jira/browse/JCS-69
             Project: JCS
          Issue Type: Bug
    Affects Versions: jcs-1.3, jcs-1.4-dev
         Environment: Linux 2.6.28-15-generic #52-Ubuntu SMP Wed Sep 9 10:48:52 UTC 2009 x86_64
GNU/Linux
java version "1.6.0_16"
Java(TM) SE Runtime Environment (build 1.6.0_16-b01)
Java HotSpot(TM) 64-Bit Server VM (build 14.2-b01, mixed mode)

            Reporter: Scott Archer
            Assignee: Aaron Smuts


When using the JCSWorker threads lock indefinitely.
I believe the synchronized block in the finally block is synchronizing on the wrong object.

Once a thread locks it never unlocks.


Class: org.apache.jcs.utils.access.JCSWorker
Method: private Object run( Serializable aKey, String aGroup, JCSWorkerHelper aHelper ) throws
Exception

Bad Code (in finally block):
 synchronized ( this )
 {
     aHelper.setFinished( true );
     // Wake everyone waiting on us
     notifyAll();
 }

Suggested Fix:
 synchronized ( aHelper )
 {
     aHelper.setFinished( true );
     // Wake everyone waiting on aHelper
     aHelper.notifyAll();
 }


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: jcs-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jcs-dev-help@jakarta.apache.org


Mime
View raw message