[jboss-cvs] JBossAS SVN: r92055 - projects/jboss-threads/trunk/main/src/main/java/org/jboss/threads.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Aug 6 01:58:30 EDT 2009
Author: david.lloyd at jboss.com
Date: 2009-08-06 01:58:30 -0400 (Thu, 06 Aug 2009)
New Revision: 92055
Modified:
projects/jboss-threads/trunk/main/src/main/java/org/jboss/threads/Dependency.java
Log:
Add clarifying comments, and a minor optimization
Modified: projects/jboss-threads/trunk/main/src/main/java/org/jboss/threads/Dependency.java
===================================================================
--- projects/jboss-threads/trunk/main/src/main/java/org/jboss/threads/Dependency.java 2009-08-06 05:54:45 UTC (rev 92054)
+++ projects/jboss-threads/trunk/main/src/main/java/org/jboss/threads/Dependency.java 2009-08-06 05:58:30 UTC (rev 92055)
@@ -75,6 +75,7 @@
final AtomicIntegerFieldUpdater<Dependency> updater = depUpdater;
final int res = updater.decrementAndGet(this);
if (res == 0) {
+ final Dependency.Runner runner = this.runner;
synchronized (lock) {
try {
executor.execute(runner);
@@ -82,7 +83,7 @@
} catch (RejectedExecutionException e) {
log.errorf(e, "Error submitting task %s to executor", runner.runnable);
state = State.FAILED;
- final Dependency.Runner runner = this.runner;
+ // clear stuff out since this object will likely be kept alive longer than these objects need to be
runner.runnable = null;
runner.dependents = null;
this.runner = null;
@@ -101,6 +102,7 @@
synchronized (lock) {
state = State.FAILED;
final Dependency.Runner runner = this.runner;
+ // clear stuff out since this object will likely be kept alive longer than these objects need to be
runner.runnable = null;
runner.dependents = null;
this.runner = null;
@@ -131,6 +133,7 @@
final List<Dependency> tasks;
synchronized (lock) {
tasks = dependents;
+ // clear stuff out in case some stupid executor holds on to the runnable
dependents = null;
runnable = null;
state = ok ? State.DONE : State.FAILED;
More information about the jboss-cvs-commits
mailing list