265 |
|
return; |
266 |
|
try { |
267 |
|
runner = Thread.currentThread(); |
268 |
< |
innerSet(callable.call()); |
268 |
> |
if (getState() == RUNNING) |
269 |
> |
innerSet(callable.call()); |
270 |
> |
else |
271 |
> |
runner = null; |
272 |
|
} catch (Throwable ex) { |
273 |
|
innerSetException(ex); |
274 |
|
} |
279 |
|
return false; |
280 |
|
try { |
281 |
|
runner = Thread.currentThread(); |
282 |
< |
callable.call(); // don't set result |
282 |
> |
if (getState() == RUNNING) |
283 |
> |
callable.call(); // don't set result |
284 |
|
runner = null; |
285 |
|
return compareAndSetState(RUNNING, 0); |
286 |
|
} catch (Throwable ex) { |