catch spurious wakeups of condition variables

For background see:
http://en.cppreference.com/w/cpp/thread/condition_variable
http://en.wikipedia.org/wiki/Spurious_wakeup
infrastructure to interrupt waiting message listeners

basically we intentionally generate a "spurious wakeup" of the condition variable
extra statement

happens anyways at the bottom of event handler