User: dmaplesden
  Date: 01/10/22 13:39:06

  Modified:    src/main/org/jboss/mq Tag: Branch_2_4
                        SpyMessageConsumer.java
  Log:
  Backport bug fix for race condition to 2.4 branch
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.7.2.2   +21 -19    jbossmq/src/main/org/jboss/mq/SpyMessageConsumer.java
  
  Index: SpyMessageConsumer.java
  ===================================================================
  RCS file: /cvsroot/jboss/jbossmq/src/main/org/jboss/mq/SpyMessageConsumer.java,v
  retrieving revision 1.7.2.1
  retrieving revision 1.7.2.2
  diff -u -r1.7.2.1 -r1.7.2.2
  --- SpyMessageConsumer.java   2001/08/23 03:57:08     1.7.2.1
  +++ SpyMessageConsumer.java   2001/10/22 20:39:06     1.7.2.2
  @@ -25,7 +25,7 @@
    * @author     Hiram Chirino ([EMAIL PROTECTED])
    * @author     David Maplesden ([EMAIL PROTECTED])
    * @created    August 16, 2001
  - * @version    $Revision: 1.7.2.1 $
  + * @version    $Revision: 1.7.2.2 $
    */
   public class SpyMessageConsumer implements MessageConsumer, SpyConsumer, Runnable {
   
  @@ -129,18 +129,19 @@
            receiving = true;
         }
   
  -      SpyMessage msg = session.connection.receive( subscription, 0 );
  -      if ( msg != null ) {
  -         Message mes = preProcessMessage( msg );
  -         if ( mes != null ) {
  -            synchronized ( stateLock ) {
  -               receiving = false;
  +      synchronized ( messages ) {
  +
  +         SpyMessage msg = session.connection.receive( subscription, 0 );
  +         if ( msg != null ) {
  +            Message mes = preProcessMessage( msg );
  +            if ( mes != null ) {
  +               synchronized ( stateLock ) {
  +                  receiving = false;
  +               }
  +               return mes;
               }
  -            return mes;
            }
  -      }
   
  -      synchronized ( messages ) {
            try {
               waitingForMessage = true;
               while ( true ) {
  @@ -190,18 +191,19 @@
   
         long endTime = System.currentTimeMillis() + timeOut;
   
  -      SpyMessage msg = session.connection.receive( subscription, timeOut );
  -      if ( msg != null ) {
  -         Message mes = preProcessMessage( msg );
  -         if ( mes != null ) {
  -            synchronized ( stateLock ) {
  -               receiving = false;
  +      synchronized ( messages ) {
  +
  +         SpyMessage msg = session.connection.receive( subscription, timeOut );
  +         if ( msg != null ) {
  +            Message mes = preProcessMessage( msg );
  +            if ( mes != null ) {
  +               synchronized ( stateLock ) {
  +                  receiving = false;
  +               }
  +               return mes;
               }
  -            return mes;
            }
  -      }
   
  -      synchronized ( messages ) {
            try {
               waitingForMessage = true;
               while ( true ) {
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to