mworks/mworks — pull request #6 by cstawarz (2012-07-30 18:16:12+00:00)
Title: State system improvements

A handful of enhancements involving the state system:

* Experiment pausing is now supported. Dynamic stimuli automatically pause/resume with the experiment, but I/O devices do not.
* `State::isInterruptible` now returns true if and only if the given state *and* all its ancestor states are interruptible; this makes uninterruptible container states work like you'd expect
* TaskSystemState now behaves like other container states with respect to enclosed actions, meaning the task system can be stopped or paused in the middle of the action list
* The standalone "wait" action is now interruptible
* `StandardStateSystem::stop` now sets `state_system_mode` to STOPPING rather than IDLE, so that I/O devices keep running if the experiment is in an uninterruptible state and can't stop immediately
* Eliminated some message duplication in the server console
* Some fixes and cleanup in StateSystem, State, and Component