FYI: I've added 2 classes to poll for non-IO events in the broker's Poller:
sys/PollableCondition: is a generic mechansim to poll for non-IO events in the Poller. sys/PollableQueue: is a thread-safe queue template that can be dispatched from the Poller when there are items on the queue. It uses PollableCondition. I'm using these in the cluster code to queue cluster events for dispatch by the poller. PollableCondition is implemented using a pipe which is portable for Unixen but a bit ugly. There's a better linux solution using eventfd() on modern linux, and I'm sure the Solaris event framework has something similar, we can add platform-specific improvements as we see fit. Sorry about windows - currently this is only used by cluster code which won't run on windows yet anyway so it can just be left out of windows builds for now. I expect it may find other uses with time. Cheers, Alan.