diff options
author | Glenn Strauss <gstrauss@gluelogic.com> | 2016-04-10 23:20:54 -0400 |
---|---|---|
committer | Glenn Strauss <gstrauss@gluelogic.com> | 2016-04-18 06:19:03 -0400 |
commit | 4b0c822ed0e00a5176d4da1827024f1751d3c508 (patch) | |
tree | 570ca2d11d0906940cc366a2c3ed6281780fc8de /src/fdevent.h | |
parent | 8f27ff8cd4e23749ad524c52b5dd696d9de1495d (diff) | |
download | lighttpd-git-4b0c822ed0e00a5176d4da1827024f1751d3c508.tar.gz |
always poll for client POLLHUP/POLLERR events (fixes #399)
to detect client disconnect. Do so even when waiting on backend,
and not polling for POLLRD or POLLWR on client connection.
This reduces unnecessary load on backends when backends are slow
to respond and client has given up waiting.
x-ref:
"https://redmine.lighttpd.net/issues/399"
FastCGI performance on high load
Diffstat (limited to 'src/fdevent.h')
-rw-r--r-- | src/fdevent.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/fdevent.h b/src/fdevent.h index 885c1d5a..6ee4d92b 100644 --- a/src/fdevent.h +++ b/src/fdevent.h @@ -173,8 +173,8 @@ fdevents *fdevent_init(struct server *srv, size_t maxfds, fdevent_handler_t type int fdevent_reset(fdevents *ev); /* "init" after fork() */ void fdevent_free(fdevents *ev); -int fdevent_event_set(fdevents *ev, int *fde_ndx, int fd, int events); /* events can be FDEVENT_IN, FDEVENT_OUT or FDEVENT_IN | FDEVENT_OUT */ -int fdevent_event_del(fdevents *ev, int *fde_ndx, int fd); +void fdevent_event_set(fdevents *ev, int *fde_ndx, int fd, int events); /* events can be FDEVENT_IN, FDEVENT_OUT or FDEVENT_IN | FDEVENT_OUT */ +void fdevent_event_del(fdevents *ev, int *fde_ndx, int fd); int fdevent_event_get_revent(fdevents *ev, size_t ndx); int fdevent_event_get_fd(fdevents *ev, size_t ndx); fdevent_handler fdevent_get_handler(fdevents *ev, int fd); |