summaryrefslogtreecommitdiffstats
path: root/src/nativewindow/classes
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2010-09-23 15:34:00 +0200
committerSven Gothel <[email protected]>2010-09-23 15:34:00 +0200
commit46971a3b9d58bcd1e2305d0f428b31ce30273293 (patch)
tree6de7f77843d6420bde9c84e37f798d3cba1f84ea /src/nativewindow/classes
parent34fffab0bb25bbf8a4cd2bf372e018748982b9bc (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/nativewindow/classes')
0 files changed, 0 insertions, 0 deletions