[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