libev release candidate
Brandon Black
blblack at gmail.com
Tue May 8 17:33:43 CEST 2012
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
More information about the libev
mailing list