Author: gatfora
Date: Fri Mar 14 04:10:12 2008
New Revision: 637055

URL: http://svn.apache.org/viewvc?rev=637055&view=rev
Log:
Applying patch for SANDESHA2-142

Modified:
    
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java

Modified: 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java?rev=637055&r1=637054&r2=637055&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java
 (original)
+++ 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java
 Fri Mar 14 04:10:12 2008
@@ -260,20 +260,23 @@
                        WorkerLock lock = sender.getWorkerLock();
                        
                        String workId = matchingMessage.getMessageID();
-                       while (lock.isWorkPresent(workId)) {
-                               try {
-                                       //wait on the lock.
-                                       lock.wait();
-                               } catch (InterruptedException e) {
-                                       e.printStackTrace();
+                       SenderWorker worker = null;
+                       synchronized(lock){
+                               while (lock.isWorkPresent(workId)) {
+                                       try {
+                                               //wait on the lock.
+                                               lock.wait();
+                                       } catch (InterruptedException e) {
+                                                       e.printStackTrace();
+                                       }
                                }
+                               
+                               worker = new SenderWorker 
(pollMessage.getConfigurationContext(), matchingMessage, 
pollMessage.getRMSpecVersion());
+                               worker.setLock(lock);
+                               worker.setWorkId(workId);
+                               
+                               lock.addWork(workId, worker);
                        }
-                       
-                       SenderWorker worker = new SenderWorker 
(pollMessage.getConfigurationContext(), matchingMessage, 
pollMessage.getRMSpecVersion());
-                       worker.setLock(lock);
-                       worker.setWorkId(workId);
-
-                       lock.addWork(workId, worker);
                        
                        setTransportProperties (returnMessage, pollMessage);
                        



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to