summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2013-07-09 04:25:06 +0200
committerSven Gothel <[email protected]>2013-07-09 04:25:06 +0200
commit33ff1e3a6e64288028d8c2a8beb350a9f7c89720 (patch)
tree6b60c8fabf8eff2d54b827926885ab6d68e11031
parent3ceb32fb505363ccc02fc4cce1362257ca98a3e5 (diff)
RunnableTask/FunctionTask run(): Write tExecuted in finally block, removing code redundancy and placing write at end of operation.
-rw-r--r--src/java/com/jogamp/common/util/FunctionTask.java7
-rw-r--r--src/java/com/jogamp/common/util/RunnableTask.java7
2 files changed, 6 insertions, 8 deletions
diff --git a/src/java/com/jogamp/common/util/FunctionTask.java b/src/java/com/jogamp/common/util/FunctionTask.java
index a131838..01f85b1 100644
--- a/src/java/com/jogamp/common/util/FunctionTask.java
+++ b/src/java/com/jogamp/common/util/FunctionTask.java
@@ -132,9 +132,7 @@ public class FunctionTask<R,A> extends TaskBase implements Function<R,A> {
if(null == syncObject) {
try {
this.result = runnable.eval(args);
- tExecuted = System.currentTimeMillis();
} catch (Throwable t) {
- tExecuted = System.currentTimeMillis();
runnableException = t;
if(null != exceptionOut) {
exceptionOut.println("FunctionTask.run(): "+getExceptionOutIntro()+" exception occured on thread "+Thread.currentThread().getName()+": "+toString());
@@ -144,14 +142,14 @@ public class FunctionTask<R,A> extends TaskBase implements Function<R,A> {
if(!catchExceptions) {
throw new RuntimeException(runnableException);
}
+ } finally {
+ tExecuted = System.currentTimeMillis();
}
} else {
synchronized (syncObject) {
try {
this.result = runnable.eval(args);
- tExecuted = System.currentTimeMillis();
} catch (Throwable t) {
- tExecuted = System.currentTimeMillis();
runnableException = t;
if(null != exceptionOut) {
exceptionOut.println("FunctionTask.run(): "+getExceptionOutIntro()+" exception occured on thread "+Thread.currentThread().getName()+": "+toString());
@@ -162,6 +160,7 @@ public class FunctionTask<R,A> extends TaskBase implements Function<R,A> {
throw new RuntimeException(runnableException);
}
} finally {
+ tExecuted = System.currentTimeMillis();
syncObject.notifyAll();
}
}
diff --git a/src/java/com/jogamp/common/util/RunnableTask.java b/src/java/com/jogamp/common/util/RunnableTask.java
index ce4688d..c18556b 100644
--- a/src/java/com/jogamp/common/util/RunnableTask.java
+++ b/src/java/com/jogamp/common/util/RunnableTask.java
@@ -93,9 +93,7 @@ public class RunnableTask extends TaskBase {
if(null == syncObject) {
try {
runnable.run();
- tExecuted = System.currentTimeMillis();
} catch (Throwable t) {
- tExecuted = System.currentTimeMillis();
runnableException = t;
if(null != exceptionOut) {
exceptionOut.println("RunnableTask.run(): "+getExceptionOutIntro()+" exception occured on thread "+Thread.currentThread().getName()+": "+toString());
@@ -105,14 +103,14 @@ public class RunnableTask extends TaskBase {
if(!catchExceptions) {
throw new RuntimeException(runnableException);
}
+ } finally {
+ tExecuted = System.currentTimeMillis();
}
} else {
synchronized (syncObject) {
try {
runnable.run();
- tExecuted = System.currentTimeMillis();
} catch (Throwable t) {
- tExecuted = System.currentTimeMillis();
runnableException = t;
if(null != exceptionOut) {
exceptionOut.println("RunnableTask.run(): "+getExceptionOutIntro()+" exception occured on thread "+Thread.currentThread().getName()+": "+toString());
@@ -123,6 +121,7 @@ public class RunnableTask extends TaskBase {
throw new RuntimeException(runnableException);
}
} finally {
+ tExecuted = System.currentTimeMillis();
syncObject.notifyAll();
}
}