Boost logo

Boost :

Subject: Re: [boost] [asio] Bug: Handlers execute on the wrong strand.
From: Gavin Lambert (gavinl_at_[hidden])
Date: 2013-10-23 23:32:13


On 23/10/2013 12:56, Quoth Greg Barron:
> I would like to refer you to this bug report:
> https://svn.boost.org/trac/boost/ticket/9203

Interesting. I was recently working on something new that I was hoping
to use Asio for but kept running into unacceptably long lock delays
(~300ms). The code did make use of parallel jobs on supposedly
independent strands so this could have been the culprit.

> I've implemented a work around which could only be described as a hack
> and would be embarrassed to show it to anybody. But it gets me over my
> hump :).

I actually ended up abandoning Asio and rolling my own threadqueue (I
didn't want any of the socket-related stuff so this wasn't as big a job
as it sounds). Mine isn't fully-baked yet (and it's Windows-only for
the moment) and I'm not sure I'd want to show it off either, but on the
upside most of the guts are entirely lock-free (though not wait-free,
since it's based on Boost.LockFree's queue).


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk