On Tue, Apr 29, 2014 at 2:12 PM, Niall Douglas
BTW, I'll shortly be coming to this list with a new sync object for Boost.Thread called a "permit object" which wraps the failed POSIX pthreads permit object proposal for C11 which solves some of the problems of using condition variables directly. It looks a bit like half of a Win32 event object, but has stronger guarantees. Anyway it'll need to be reviewed here before it can enter Boost.Thread, so it may be useful for you to watch that process unfold to give you an idea of what may be involved with your patchset as a good chunk of yours also involves Boost.Thread. You might see something next week or so, or after the C++ Now conference.
<offtopic> I believe, the general target for low-level thread synchronization should be Boost.Sync. It's a little in a hanging state now, but in the long term it should supersede Boost.Thread synchronization primitives. That said, I'm not aware of "permit objects", so I don't know how well it would fit in Boost.Sync. </offtopic>