On Sat, Feb 7, 2015 at 11:18 AM, Niall Douglas
that signals and slots is one of those patterns which sits on the cusp of being just simple enough to implement lock free vs just complex enough it isn't worth implementing lock free. I suspect none of us know the answer to that, but it's the kind of thing a certain type of Boost programmer lies awake at night wondering.
I think we'd all also like to know a definitive answer. Perhaps Tony you might consider a lock free signals and slots presentation for a future BoostCon eh?
I like that idea (and I've been looking for topics...). I've seen this problem tackled too many times (with ad hoc solutions), it was already on my list of "things to write once and for all". But I hadn't considered it for BoostCon - that might actually be a reason that would get me to finally write it. It would, of course, not be completely lock-free - as mentioned, some waiting is required in certain situations. But I think it could be mostly lock-free (similar to non-allocating promise/future - actually extremely similar I think (ie my gut instinct without digging into it).
Niall
Thanks! Tony