Boost logo

Boost Users :

Subject: Re: [Boost-users] [Coroutine] Assertion when coroutine is not run
From: Brian Ravnsgaard Riis (brian_at_[hidden])
Date: 2014-03-10 04:15:50


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 2014-03-10 09:04, Brian Ravnsgaard Riis wrote:
> Hi Oliver, thanks for replying.
>
> Maybe I should've mentioned that I only call the push_type if
> there's anything left in the buffer:
>
> while(begin != end && !validResult) { parser(*begin++) }
>
> "parser" is the push_type, obviously; begin and end are iterators
> into the buffer I'm parsing. Anyway, I quickly tried to add the
> check in the coroutine as well, but that did not change anything. I
> didn't expect it to, as *I never call the push_type anyway!*
>
> If I "merge" the above push_type with the one I use for parsing
> the message header and just re-use that, then the assertion also
> does not trigger. The problem seems to be that the push_type is
> initialised with the lambda but then never called.
>
> Will experiment a bit more...
>
> /Brian

I tried adding a test case to Boost.Coroutine's own test suite. As my
case I just build a push_type<char> and initialise with a lambda but
then never call it. Same assertion.

See attached diff.

 /Brian
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJTHXS2AAoJEFES4N8QrEodJkcH/32ohbU6PfRxDET/aRhYum41
RyCkmhwl///bAtwyzIzC3FSYXdoizNODCLK09Im8yL9CIG67ocImUBTu6iaoTXJp
C+gsVBB39eL2+CwiyR9rjIChWD5MFHLvpHysDJD0M23Ka6dKK7E/5IBguDZykSeb
AdZpMdLy3bo2npLbGfUsJdlCZ+uvf+M+E/9Bro1/dzRm4Ka9lN37LL8pY6zeNoNA
I3ACJN68SQwnh+Z68AZo/tPbpiARxar6hxNK4M2Lk6bAVHK+Pl9xNUbbXWsu0m4o
Lmtra9j+OGY8O5LPqB60N6CAQb+Sa+h+3cD0ikr7xStb+lKLva9AEmuoVFrRl5w=
=83dN
-----END PGP SIGNATURE-----




Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net