diff options
author | Sven Gothel <[email protected]> | 2010-09-23 15:34:00 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2010-09-23 15:34:00 +0200 |
commit | 46971a3b9d58bcd1e2305d0f428b31ce30273293 (patch) | |
tree | 6de7f77843d6420bde9c84e37f798d3cba1f84ea /src/newt/native | |
parent | 34fffab0bb25bbf8a4cd2bf372e018748982b9bc (diff) |
NEWT: Fix EDTUtil/DefaultEDTUtil - Locking/Behaviour
EDTUtil:
- Added documentation to EDTUtil interface
- Removed 'stop()', introduced 'invokeStop(Runnable)',
allowing proper shutdown with a final task (see doc).
- Fix (c) header, since it is a new file, changed to interface with df161c9fcc1bc90d03e374e0eb8148424d4c5577
DefaultEDTUtil:
- Move EDT scope volatile states (shouldStop, edtTasks)
into inner class EventDispatchThread (the actual EDT).
Fetching those outer instance values from within the inner EDT instance
results in 'old values', ie this memory didn't get updates/synced.
- Give the thread a proper name:
<invocation-thread-name>-<custom-name>-EDT-<start-sequence-number>
This allows easy identification of the EDT incl. indication of the 'start' sequence number.
- Added fail-fast Exceptions in case of a stopped EDT with remaining tasks.
This should validate/test the runtime behavior.
- Ensure isRunning(), invokeStop(..) and waitUntilStopped()
only returns after the last task has been executed.
- invokeImpl/EDT.run: Complete task-lock coverage incl. wait case.
- The final task is blocked until the wait() state in invokeImpl is reached.
- EDT executes the final task and notifies the lock owner - then exist
- invokeImpl leaves the wait state.
- See EDTUtil API doc ..
Diffstat (limited to 'src/newt/native')
0 files changed, 0 insertions, 0 deletions