ev.c fix
Auxten wpc
auxtenwpc at gmail.com
Wed Sep 7 07:35:00 CEST 2011
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.schmorp.de/pipermail/libev/attachments/20110907/80fa60ca/attachment.htm>
More information about the libev
mailing list