libev-4.04 may have a infi loop at ev.c line 1020,1019
for (w = (ev_io *)anfd->head; w; w = (ev_io *)((WL)w)->next)
> anfd->events |= (unsigned char)w->events;
>
as my trace there a possiblity "w == (ev_io *)((WL)w)->next", the next point
to itself
this cause one of my threads infi loop here, so the simple fix is
diff -r libev-4.04/ev.c libev-4.04-fixed/ev.c
> 1020c1020,1024
> < anfd->events |= (unsigned char)w->events;
> ---
> > {
> > anfd->events |= (unsigned char)w->events;
> > if (w == (ev_io *)((WL)w)->next)
> > break;
> > }
>
--
----------------------------------
Auxten *StarDust* blog.auxten.com
_______________________________________________
libev mailing list
[email protected]
http://lists.schmorp.de/cgi-bin/mailman/listinfo/libev