summaryrefslogtreecommitdiff
path: root/src/fdevent_freebsd_kqueue.c
diff options
context:
space:
mode:
authorGlenn Strauss <gstrauss@gluelogic.com>2017-02-11 00:09:14 -0500
committerGlenn Strauss <gstrauss@gluelogic.com>2017-02-11 11:06:36 -0500
commit12440e89cd2f93398b4a43020d9070a2b823dca9 (patch)
tree22a888adc2cfe86a8195b66e49a8574834590af2 /src/fdevent_freebsd_kqueue.c
parent3209f30d11d454ba9be12b0eb4b5bba8526ed677 (diff)
downloadlighttpd1.4-12440e89cd2f93398b4a43020d9070a2b823dca9.tar.gz
lighttpd1.4-12440e89cd2f93398b4a43020d9070a2b823dca9.zip
[core] use kqueue in level-triggered mode (fixes #2788)
use kqueue in level-triggered mode, not edge-triggered x-ref: "FreeBSD/1.4.45/SSL: requests getting stuck in handle-req state occasionally" https://redmine.lighttpd.net/issues/2788
Diffstat (limited to 'src/fdevent_freebsd_kqueue.c')
-rw-r--r--src/fdevent_freebsd_kqueue.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/fdevent_freebsd_kqueue.c b/src/fdevent_freebsd_kqueue.c
index b82ccfdf..3c4ec9bd 100644
--- a/src/fdevent_freebsd_kqueue.c
+++ b/src/fdevent_freebsd_kqueue.c
@@ -75,14 +75,14 @@ static int fdevent_freebsd_kqueue_event_set(fdevents *ev, int fde_ndx, int fd, i
if (events == oevents) return fd;
if (addevents & FDEVENT_IN) {
- EV_SET(&kev[n], fd, EVFILT_READ, EV_ADD|EV_CLEAR, 0, 0, NULL);
+ EV_SET(&kev[n], fd, EVFILT_READ, EV_ADD, 0, 0, NULL);
n++;
} else if (delevents & FDEVENT_IN) {
EV_SET(&kev[n], fd, EVFILT_READ, EV_DELETE, 0, 0, NULL);
n++;
}
if (addevents & FDEVENT_OUT) {
- EV_SET(&kev[n], fd, EVFILT_WRITE, EV_ADD|EV_CLEAR, 0, 0, NULL);
+ EV_SET(&kev[n], fd, EVFILT_WRITE, EV_ADD, 0, 0, NULL);
n++;
} else if (delevents & FDEVENT_OUT) {
EV_SET(&kev[n], fd, EVFILT_WRITE, EV_DELETE, 0, 0, NULL);