diff options
Diffstat (limited to 'src/java/com/jogamp/common')
-rw-r--r-- | src/java/com/jogamp/common/util/FunctionTask.java | 7 | ||||
-rw-r--r-- | src/java/com/jogamp/common/util/RunnableTask.java | 7 |
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(); } } |