diff options
author | Martin Matuska <mm@FreeBSD.org> | 2010-08-27 14:46:54 +0000 |
---|---|---|
committer | Martin Matuska <mm@FreeBSD.org> | 2010-08-27 14:46:54 +0000 |
commit | b22b2d0f1abf1a73ed97b79b96058d12fc5521eb (patch) | |
tree | dce8646a2f63adc94cf7386c6969256e7a796e6e | |
parent | - Update to 0.16 (diff) |
- Update to 1.4.28
- remove fdevent patch (already included)
-rw-r--r-- | www/lighttpd/Makefile | 3 | ||||
-rw-r--r-- | www/lighttpd/distinfo | 6 | ||||
-rw-r--r-- | www/lighttpd/files/patch-src-fdevent | 532 |
3 files changed, 4 insertions, 537 deletions
diff --git a/www/lighttpd/Makefile b/www/lighttpd/Makefile index 7f8ffd5070e8..60b9d0abffc8 100644 --- a/www/lighttpd/Makefile +++ b/www/lighttpd/Makefile @@ -6,8 +6,7 @@ # PORTNAME= lighttpd -PORTVERSION= 1.4.27 -PORTREVISION= 2 +PORTVERSION= 1.4.28 CATEGORIES= www MASTER_SITES= http://download.lighttpd.net/lighttpd/releases-1.4.x/ diff --git a/www/lighttpd/distinfo b/www/lighttpd/distinfo index f17421c51292..4870e2686d21 100644 --- a/www/lighttpd/distinfo +++ b/www/lighttpd/distinfo @@ -1,6 +1,6 @@ -MD5 (lighttpd-1.4.27.tar.bz2) = afece7dc547d71cb94ea2e34ee5b3f9b -SHA256 (lighttpd-1.4.27.tar.bz2) = d459a77eb91dac8bb2da080c7765ad6fbf505b316078b41c7dd7077e1745b566 -SIZE (lighttpd-1.4.27.tar.bz2) = 641718 +MD5 (lighttpd-1.4.28.tar.bz2) = 586eb535d31ac299652495b058dd87c4 +SHA256 (lighttpd-1.4.28.tar.bz2) = 7e55747a4feb74545d80a1f2d85b5866b8600705eac946e4402e3364b0666ed2 +SIZE (lighttpd-1.4.28.tar.bz2) = 641702 MD5 (lighttpd-1.4.26_mod_h264_streaming-2.2.9.patch.gz) = 633af734ed50d42b743ab70724058951 SHA256 (lighttpd-1.4.26_mod_h264_streaming-2.2.9.patch.gz) = d7c3704d5253c4f3c18459f89059063b311e50096cd2c38fc982cec683c32e61 SIZE (lighttpd-1.4.26_mod_h264_streaming-2.2.9.patch.gz) = 44695 diff --git a/www/lighttpd/files/patch-src-fdevent b/www/lighttpd/files/patch-src-fdevent deleted file mode 100644 index bd67ea2920ab..000000000000 --- a/www/lighttpd/files/patch-src-fdevent +++ /dev/null @@ -1,532 +0,0 @@ -Index: src/fdevent.h -=================================================================== ---- src/fdevent.h (revision 2763) -+++ src/fdevent.h (revision 2765) -@@ -91,7 +91,6 @@ - FDEVENT_HANDLER_LINUX_SYSEPOLL, - FDEVENT_HANDLER_SOLARIS_DEVPOLL, - FDEVENT_HANDLER_FREEBSD_KQUEUE, -- FDEVENT_HANDLER_SOLARIS_PORT, - FDEVENT_HANDLER_LIBEV - } fdevent_handler_t; - -@@ -101,6 +100,7 @@ - void *ctx; - void *handler_ctx; - int fd; -+ int events; - } fdnode; - - /** -@@ -166,7 +166,7 @@ - int (*reset)(struct fdevents *ev); - void (*free)(struct fdevents *ev); - -- int (*event_add)(struct fdevents *ev, int fde_ndx, int fd, int events); -+ int (*event_set)(struct fdevents *ev, int fde_ndx, int fd, int events); - int (*event_del)(struct fdevents *ev, int fde_ndx, int fd); - int (*event_get_revent)(struct fdevents *ev, size_t ndx); - int (*event_get_fd)(struct fdevents *ev, size_t ndx); -@@ -182,7 +182,7 @@ - int fdevent_reset(fdevents *ev); /* "init" after fork() */ - void fdevent_free(fdevents *ev); - --int fdevent_event_add(fdevents *ev, int *fde_ndx, int fd, int events); -+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); - int fdevent_event_get_revent(fdevents *ev, size_t ndx); - int fdevent_event_get_fd(fdevents *ev, size_t ndx); -Index: src/mod_cgi.c -=================================================================== ---- src/mod_cgi.c (revision 2763) -+++ src/mod_cgi.c (revision 2765) -@@ -1157,7 +1157,7 @@ - con->plugin_ctx[p->id] = hctx; - - fdevent_register(srv->ev, hctx->fd, cgi_handle_fdevent, hctx); -- fdevent_event_add(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_IN); -+ fdevent_event_set(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_IN); - - if (-1 == fdevent_fcntl_set(srv->ev, hctx->fd)) { - log_error_write(srv, __FILE__, __LINE__, "ss", "fcntl failed: ", strerror(errno)); -Index: src/connections.c -=================================================================== ---- src/connections.c (revision 2763) -+++ src/connections.c (revision 2765) -@@ -1792,7 +1792,7 @@ - case CON_STATE_READ_POST: - case CON_STATE_READ: - case CON_STATE_CLOSE: -- fdevent_event_add(srv->ev, &(con->fde_ndx), con->fd, FDEVENT_IN); -+ fdevent_event_set(srv->ev, &(con->fde_ndx), con->fd, FDEVENT_IN); - break; - case CON_STATE_WRITE: - /* request write-fdevent only if we really need it -@@ -1802,7 +1802,7 @@ - if (!chunkqueue_is_empty(con->write_queue) && - (con->is_writable == 0) && - (con->traffic_limit_reached == 0)) { -- fdevent_event_add(srv->ev, &(con->fde_ndx), con->fd, FDEVENT_OUT); -+ fdevent_event_set(srv->ev, &(con->fde_ndx), con->fd, FDEVENT_OUT); - } else { - fdevent_event_del(srv->ev, &(con->fde_ndx), con->fd); - } -Index: src/network.c -=================================================================== ---- src/network.c (revision 2763) -+++ src/network.c (revision 2765) -@@ -724,7 +724,7 @@ - server_socket *srv_socket = srv->srv_sockets.ptr[i]; - - fdevent_register(srv->ev, srv_socket->fd, network_server_handle_fdevent, srv_socket); -- fdevent_event_add(srv->ev, &(srv_socket->fde_ndx), srv_socket->fd, FDEVENT_IN); -+ fdevent_event_set(srv->ev, &(srv_socket->fde_ndx), srv_socket->fd, FDEVENT_IN); - } - return 0; - } -Index: src/fdevent_freebsd_kqueue.c -=================================================================== ---- src/fdevent_freebsd_kqueue.c (revision 2763) -+++ src/fdevent_freebsd_kqueue.c (revision 2765) -@@ -22,20 +22,31 @@ - } - - static int fdevent_freebsd_kqueue_event_del(fdevents *ev, int fde_ndx, int fd) { -- int ret; -+ int ret, n = 0; - struct kevent kev[2]; - struct timespec ts; -+ int oevents; - - if (fde_ndx < 0) return -1; - -- EV_SET(&kev[0], fd, EVFILT_READ, EV_DELETE, 0, 0, NULL); -- EV_SET(&kev[1], fd, EVFILT_WRITE, EV_DELETE, 0, 0, NULL); -+ oevents = ev->fdarray[fd]->events; - -+ if (oevents & FDEVENT_IN) { -+ EV_SET(&kev[n], fd, EVFILT_READ, EV_DELETE, 0, 0, NULL); -+ n++; -+ } -+ if (oevents & FDEVENT_OUT) { -+ EV_SET(&kev[n], fd, EVFILT_WRITE, EV_DELETE, 0, 0, NULL); -+ n++; -+ } -+ -+ if (0 == n) return -1; -+ - ts.tv_sec = 0; - ts.tv_nsec = 0; - - ret = kevent(ev->kq_fd, -- &kev, 2, -+ &kev, n, - NULL, 0, - &ts); - -@@ -49,28 +60,46 @@ - return -1; - } - --static int fdevent_freebsd_kqueue_event_add(fdevents *ev, int fde_ndx, int fd, int events) { -- int filter, ret; -- struct kevent kev; -+static int fdevent_freebsd_kqueue_event_set(fdevents *ev, int fde_ndx, int fd, int events) { -+ int ret, n = 0; -+ struct kevent kev[2]; - struct timespec ts; -+ int oevents = ev->fdarray[fd]->events; -+ int addevents = events & ~oevents; -+ int delevents = ~events & oevents; - - UNUSED(fde_ndx); - -- filter = (events & FDEVENT_IN) ? EVFILT_READ : EVFILT_WRITE; -+ if (events == oevents) return fd; - -- EV_SET(&kev, fd, filter, EV_ADD|EV_CLEAR, 0, 0, NULL); -+ if (addevents & FDEVENT_IN) { -+ EV_SET(&kev[n], fd, EVFILT_READ, EV_ADD|EV_CLEAR, 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); -+ n++; -+ } else if (delevents & FDEVENT_OUT) { -+ EV_SET(&kev[n], fd, EVFILT_WRITE, EV_DELETE, 0, 0, NULL); -+ n++; -+ } - -+ if (0 == n) return fd; -+ - ts.tv_sec = 0; - ts.tv_nsec = 0; - - ret = kevent(ev->kq_fd, -- &kev, 1, -+ kev, n, - NULL, 0, - &ts); - - if (ret == -1) { - log_error_write(ev->srv, __FILE__, __LINE__, "SS", -- "kqueue event add failed: ", strerror(errno)); -+ "kqueue event set failed: ", strerror(errno)); - - return -1; - } -@@ -161,7 +190,7 @@ - SET(reset); - - SET(event_del); -- SET(event_add); -+ SET(event_set); - - SET(event_next_fdndx); - SET(event_get_fd); -Index: src/fdevent_solaris_devpoll.c -=================================================================== ---- src/fdevent_solaris_devpoll.c (revision 2763) -+++ src/fdevent_solaris_devpoll.c (revision 2765) -@@ -40,7 +40,7 @@ - return -1; - } - --static int fdevent_solaris_devpoll_event_add(fdevents *ev, int fde_ndx, int fd, int events) { -+static int fdevent_solaris_devpoll_event_set(fdevents *ev, int fde_ndx, int fd, int events) { - struct pollfd pfd; - int add = 0; - -@@ -56,7 +56,7 @@ - - if (-1 == write(ev->devpoll_fd, &pfd, sizeof(pfd))) { - log_error_write(ev->srv, __FILE__, __LINE__, "S(D, S)", -- "(add) write failed: ", fd, strerror(errno)); -+ "(set) write failed: ", fd, strerror(errno)); - - return -1; - } -@@ -139,7 +139,7 @@ - SET(reset); - - SET(event_del); -- SET(event_add); -+ SET(event_set); - - SET(event_next_fdndx); - SET(event_get_fd); -Index: src/mod_scgi.c -=================================================================== ---- src/mod_scgi.c (revision 2763) -+++ src/mod_scgi.c (revision 2765) -@@ -2230,7 +2230,7 @@ - - /* connection is in progress, wait for an event and call getsockopt() below */ - -- fdevent_event_add(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_OUT); -+ fdevent_event_set(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_OUT); - - return HANDLER_WAIT_FOR_EVENT; - case -1: -@@ -2343,10 +2343,10 @@ - if (hctx->wb->bytes_out == hctx->wb->bytes_in) { - /* we don't need the out event anymore */ - fdevent_event_del(srv->ev, &(hctx->fde_ndx), hctx->fd); -- fdevent_event_add(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_IN); -+ fdevent_event_set(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_IN); - scgi_set_state(srv, hctx, FCGI_STATE_READ); - } else { -- fdevent_event_add(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_OUT); -+ fdevent_event_set(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_OUT); - - return HANDLER_WAIT_FOR_EVENT; - } -@@ -2891,12 +2891,12 @@ - if (hctx->fd != -1) { - switch (hctx->state) { - case FCGI_STATE_READ: -- fdevent_event_add(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_IN); -+ fdevent_event_set(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_IN); - - break; - case FCGI_STATE_CONNECT: - case FCGI_STATE_WRITE: -- fdevent_event_add(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_OUT); -+ fdevent_event_set(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_OUT); - - break; - case FCGI_STATE_INIT: -Index: src/mod_proxy.c -=================================================================== ---- src/mod_proxy.c (revision 2763) -+++ src/mod_proxy.c (revision 2765) -@@ -798,7 +798,7 @@ - - /* connection is in progress, wait for an event and call getsockopt() below */ - -- fdevent_event_add(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_OUT); -+ fdevent_event_set(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_OUT); - - return HANDLER_WAIT_FOR_EVENT; - case -1: -@@ -863,9 +863,9 @@ - proxy_set_state(srv, hctx, PROXY_STATE_READ); - - fdevent_event_del(srv->ev, &(hctx->fde_ndx), hctx->fd); -- fdevent_event_add(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_IN); -+ fdevent_event_set(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_IN); - } else { -- fdevent_event_add(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_OUT); -+ fdevent_event_set(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_OUT); - - return HANDLER_WAIT_FOR_EVENT; - } -Index: src/fdevent_libev.c -=================================================================== ---- src/fdevent_libev.c (revision 2763) -+++ src/fdevent_libev.c (revision 2765) -@@ -53,7 +53,7 @@ - return -1; - } - --static int fdevent_libev_event_add(fdevents *ev, int fde_ndx, int fd, int events) { -+static int fdevent_libev_event_set(fdevents *ev, int fde_ndx, int fd, int events) { - fdnode *fdn = ev->fdarray[fd]; - ev_io *watcher = fdn->handler_ctx; - int ev_events = 0; -@@ -70,9 +70,9 @@ - watcher->data = ev; - ev_io_start(ev->libev_loop, watcher); - } else { -- if ((watcher->events & ev_events) != ev_events) { -+ if ((watcher->events & (EV_READ | EV_WRITE)) != ev_events) { - ev_io_stop(ev->libev_loop, watcher); -- ev_io_set(watcher, watcher->fd, watcher->events | ev_events); -+ ev_io_set(watcher, watcher->fd, ev_events); - ev_io_start(ev->libev_loop, watcher); - } - } -@@ -140,7 +140,7 @@ - SET(reset); - - SET(event_del); -- SET(event_add); -+ SET(event_set); - - SET(event_next_fdndx); - SET(event_get_fd); -Index: src/mod_fastcgi.c -=================================================================== ---- src/mod_fastcgi.c (revision 2763) -+++ src/mod_fastcgi.c (revision 2765) -@@ -2989,7 +2989,7 @@ - case CONNECTION_DELAYED: - /* connection is in progress, wait for an event and call getsockopt() below */ - -- fdevent_event_add(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_OUT); -+ fdevent_event_set(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_OUT); - - fcgi_set_state(srv, hctx, FCGI_STATE_CONNECT_DELAYED); - return HANDLER_WAIT_FOR_EVENT; -@@ -3108,10 +3108,10 @@ - if (hctx->wb->bytes_out == hctx->wb->bytes_in) { - /* we don't need the out event anymore */ - fdevent_event_del(srv->ev, &(hctx->fde_ndx), hctx->fd); -- fdevent_event_add(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_IN); -+ fdevent_event_set(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_IN); - fcgi_set_state(srv, hctx, FCGI_STATE_READ); - } else { -- fdevent_event_add(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_OUT); -+ fdevent_event_set(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_OUT); - - return HANDLER_WAIT_FOR_EVENT; - } -@@ -3726,12 +3726,12 @@ - if (hctx->fd != -1) { - switch (hctx->state) { - case FCGI_STATE_READ: -- fdevent_event_add(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_IN); -+ fdevent_event_set(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_IN); - - break; - case FCGI_STATE_CONNECT_DELAYED: - case FCGI_STATE_WRITE: -- fdevent_event_add(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_OUT); -+ fdevent_event_set(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_OUT); - - break; - case FCGI_STATE_INIT: -Index: src/fdevent_poll.c -=================================================================== ---- src/fdevent_poll.c (revision 2763) -+++ src/fdevent_poll.c (revision 2765) -@@ -66,7 +66,7 @@ - } - #endif - --static int fdevent_poll_event_add(fdevents *ev, int fde_ndx, int fd, int events) { -+static int fdevent_poll_event_set(fdevents *ev, int fde_ndx, int fd, int events) { - int pevents = 0; - if (events & FDEVENT_IN) pevents |= POLLIN; - if (events & FDEVENT_OUT) pevents |= POLLOUT; -@@ -80,7 +80,7 @@ - return fde_ndx; - } - log_error_write(ev->srv, __FILE__, __LINE__, "SdD", -- "add: ", fde_ndx, ev->pollfds[fde_ndx].fd); -+ "set: ", fde_ndx, ev->pollfds[fde_ndx].fd); - SEGFAULT(); - } - -@@ -170,7 +170,7 @@ - SET(poll); - - SET(event_del); -- SET(event_add); -+ SET(event_set); - - SET(event_next_fdndx); - SET(event_get_fd); -Index: src/fdevent_select.c -=================================================================== ---- src/fdevent_select.c (revision 2763) -+++ src/fdevent_select.c (revision 2765) -@@ -34,7 +34,7 @@ - return -1; - } - --static int fdevent_select_event_add(fdevents *ev, int fde_ndx, int fd, int events) { -+static int fdevent_select_event_set(fdevents *ev, int fde_ndx, int fd, int events) { - UNUSED(fde_ndx); - - /* we should be protected by max-fds, but you never know */ -@@ -42,11 +42,13 @@ - - if (events & FDEVENT_IN) { - FD_SET(fd, &(ev->select_set_read)); -- FD_CLR(fd, &(ev->select_set_write)); -+ } else { -+ FD_CLR(fd, &(ev->select_set_read)); - } - if (events & FDEVENT_OUT) { -- FD_CLR(fd, &(ev->select_set_read)); - FD_SET(fd, &(ev->select_set_write)); -+ } else { -+ FD_CLR(fd, &(ev->select_set_write)); - } - FD_SET(fd, &(ev->select_set_error)); - -@@ -113,7 +115,7 @@ - SET(poll); - - SET(event_del); -- SET(event_add); -+ SET(event_set); - - SET(event_next_fdndx); - SET(event_get_fd); -Index: src/fdevent_linux_sysepoll.c -=================================================================== ---- src/fdevent_linux_sysepoll.c (revision 2763) -+++ src/fdevent_linux_sysepoll.c (revision 2765) -@@ -41,7 +41,7 @@ - return -1; - } - --static int fdevent_linux_sysepoll_event_add(fdevents *ev, int fde_ndx, int fd, int events) { -+static int fdevent_linux_sysepoll_event_set(fdevents *ev, int fde_ndx, int fd, int events) { - struct epoll_event ep; - int add = 0; - -@@ -124,7 +124,7 @@ - SET(poll); - - SET(event_del); -- SET(event_add); -+ SET(event_set); - - SET(event_next_fdndx); - SET(event_get_fd); -Index: src/server.c -=================================================================== ---- src/server.c (revision 2763) -+++ src/server.c (revision 2765) -@@ -1147,7 +1147,7 @@ - - srv->stat_cache->fam_fcce_ndx = -1; - fdevent_register(srv->ev, FAMCONNECTION_GETFD(srv->stat_cache->fam), stat_cache_handle_fdevent, NULL); -- fdevent_event_add(srv->ev, &(srv->stat_cache->fam_fcce_ndx), FAMCONNECTION_GETFD(srv->stat_cache->fam), FDEVENT_IN); -+ fdevent_event_set(srv->ev, &(srv->stat_cache->fam_fcce_ndx), FAMCONNECTION_GETFD(srv->stat_cache->fam), FDEVENT_IN); - } - #endif - -@@ -1346,7 +1346,7 @@ - (0 == graceful_shutdown)) { - for (i = 0; i < srv->srv_sockets.used; i++) { - server_socket *srv_socket = srv->srv_sockets.ptr[i]; -- fdevent_event_add(srv->ev, &(srv_socket->fde_ndx), srv_socket->fd, FDEVENT_IN); -+ fdevent_event_set(srv->ev, &(srv_socket->fde_ndx), srv_socket->fd, FDEVENT_IN); - } - - log_error_write(srv, __FILE__, __LINE__, "s", "[note] sockets enabled again"); -Index: src/fdevent.c -=================================================================== ---- src/fdevent.c (revision 2763) -+++ src/fdevent.c (revision 2765) -@@ -9,6 +9,7 @@ - #include <errno.h> - #include <stdio.h> - #include <fcntl.h> -+#include <assert.h> - - - fdevents *fdevent_init(server *srv, size_t maxfds, fdevent_handler_t type) { -@@ -112,6 +113,7 @@ - fdn->fd = fd; - fdn->ctx = ctx; - fdn->handler_ctx = NULL; -+ fdn->events = 0; - - ev->fdarray[fd] = fdn; - -@@ -120,9 +122,12 @@ - - int fdevent_unregister(fdevents *ev, int fd) { - fdnode *fdn; -- if (!ev) return 0; -+ -+ if (!ev) return 0; - fdn = ev->fdarray[fd]; - -+ assert(fdn->events == 0); -+ - fdnode_free(fdn); - - ev->fdarray[fd] = NULL; -@@ -133,17 +138,21 @@ - int fdevent_event_del(fdevents *ev, int *fde_ndx, int fd) { - int fde = fde_ndx ? *fde_ndx : -1; - -+ if (NULL == ev->fdarray[fd]) return 0; -+ - if (ev->event_del) fde = ev->event_del(ev, fde, fd); -+ ev->fdarray[fd]->events = 0; - - if (fde_ndx) *fde_ndx = fde; - - return 0; - } - --int fdevent_event_add(fdevents *ev, int *fde_ndx, int fd, int events) { -+int fdevent_event_set(fdevents *ev, int *fde_ndx, int fd, int events) { - int fde = fde_ndx ? *fde_ndx : -1; - -- if (ev->event_add) fde = ev->event_add(ev, fde, fd, events); -+ if (ev->event_set) fde = ev->event_set(ev, fde, fd, events); -+ ev->fdarray[fd]->events = events; - - if (fde_ndx) *fde_ndx = fde; - |