Hi,
Please revert (or fix) commit cb23d93c6845df3f2733a32caa4194e60ef871a7:
*: add/remove safe_, it seems we had a few incorrect uses
In addition to change safe_* it also changes the poll revents mask checks
incorrectly.
It can make httpd hang, and busy poll in eternal loop.
From manpages:
The field revents is an output parameter, filled by the kernel with
the events that actually occurred. The
bits returned in revents can include any of those specified in events, or
one of the values POLLERR, POLLHUP,
or POLLNVAL. (These three bits are meaningless in the events field,
and will be set in the revents field
whenever the corresponding condition is true.)
If one gets POLLHUP, it's now never handled in the httpd code, and poll will
keep returning it all the time.
We really need to close fd when we get POLLERR or POLLHUP. Previously it lead
to read() or write() which would
indicate error and lead to clean up. Now those are just ignored.
- Timo
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox