aboutsummaryrefslogtreecommitdiff
path: root/libbb/warn_ignoring_args.c
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2013-09-11 14:59:21 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2013-09-11 14:59:21 +0200
commitfbe250db76b409a99457b47486a09b57677d5108 (patch)
tree1b222f195c0947502c46d375e35f549eb4cbe9b0 /libbb/warn_ignoring_args.c
parentb5352078a7eb16c33404a8b079aaa9c2b994546c (diff)
downloadbusybox-fbe250db76b409a99457b47486a09b57677d5108.tar.gz
httpd: treat errors from stdin correctly.
Fron bug report: If a CGI or proxied connection is rudely aborted (SIG_{KILL,BUS,SEGV}) then httpd will spin madly the poll loop in: networking/httpd.c:1080 cgi_io_loop_and_exit() Upon investigation I found that pfd[0].revents == 0x0018 (POLLHUP|POLLERR), which leads to empty read, but the pfd[0].fd (STDIN_FILENO) is left open, and in the FD list given to poll() which immediately returns to once again inform the loop of (POLLHUP|POLLERR) condition of pfd[0].fd. This continues until pfd[FROM_CGI].revents != 0 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'libbb/warn_ignoring_args.c')
0 files changed, 0 insertions, 0 deletions