8 May 2012 17:33
Re: libev release candidate
Brandon Black <blblack <at> gmail.com>
2012-05-08 15:33:43 GMT
2012-05-08 15:33:43 GMT
On Tue, May 8, 2012 at 9:47 AM, Marc Lehmann <schmorp <at> schmorp.de> wrote:
> if (j++ & 1)
> {
> assert (("libev: io watcher list contains a loop", w != w2));
> w2 = w2->next;
> }
>
> And see if that makes it go away? (I never implemented this particular
> algorithm before :)
Still the same assert failure with that chunk of code. I blindly
tried a few other variants on the theme as well. If I move the assert
after the assignment, e.g.:
if (j++ & 1)
{
w2 = w2->next;
assert (("libev: io watcher list contains a loop", w != w2));
}
Then it works. If I change j++ to ++j in the above, it still works.
Other obvious variations all produce assert failures (moving assert
back above the assignment, or outside of the if-branch completely).
-- Brandon
_______________________________________________
libev mailing list
libev <at> lists.schmorp.de
http://lists.schmorp.de/cgi-bin/mailman/listinfo/libev
RSS Feed