[jboss-cvs] JBossRemoting/src/main/org/jboss/remoting ...

Ron Sigal ron_sigal at yahoo.com
Sun Mar 11 15:58:36 EDT 2007


  User: rsigal  
  Date: 07/03/11 15:58:36

  Modified:    src/main/org/jboss/remoting  Tag: remoting_2_x
                        LeasePinger.java
  Log:
  JBREM-721:  Made LeaseTimerrTask a static class that sets its LeasePinger reference to null when cancelled.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.8.2.12  +28 -3     JBossRemoting/src/main/org/jboss/remoting/LeasePinger.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: LeasePinger.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossRemoting/src/main/org/jboss/remoting/LeasePinger.java,v
  retrieving revision 1.8.2.11
  retrieving revision 1.8.2.12
  diff -u -b -r1.8.2.11 -r1.8.2.12
  --- LeasePinger.java	25 Feb 2007 21:18:47 -0000	1.8.2.11
  +++ LeasePinger.java	11 Mar 2007 19:58:36 -0000	1.8.2.12
  @@ -61,7 +61,7 @@
      {
         if(trace) { log.trace(this + " starting lease timer with ping period of " + pingPeriod); }
   
  -      timerTask = new LeaseTimerTask();
  +      timerTask = new LeaseTimerTask(this);
         timer.schedule(timerTask, pingPeriod, pingPeriod);
      }
   
  @@ -293,11 +293,36 @@
   
      // Inner classes --------------------------------------------------------------------------------
   
  -   private class LeaseTimerTask extends TimerTask
  +   static private class LeaseTimerTask extends TimerTask
      {
  +      private LeasePinger pinger;
  +
  +      LeaseTimerTask(final LeasePinger pinger)
  +      {
  +          this.pinger = pinger;
  +      }
  +
         public void run()
         {
  -         sendClientPing();
  +         final LeasePinger currentPinger;
  +         synchronized(this)
  +         {
  +             currentPinger = pinger;
  +         }
  +
  +         if (currentPinger != null)
  +         {
  +             currentPinger.sendClientPing();
  +         }
  +      }
  +
  +      public boolean cancel()
  +      {
  +          synchronized(this)
  +          {
  +              pinger = null;
  +          }
  +          return super.cancel();
         }
      }
   }
  
  
  



More information about the jboss-cvs-commits mailing list