diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/connections.c | 5 | ||||
-rw-r--r-- | src/fdevent_impl.c | 5 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/connections.c b/src/connections.c index 7c849bf1..51afa665 100644 --- a/src/connections.c +++ b/src/connections.c @@ -88,9 +88,7 @@ static void connection_close(connection *con) { fdevent_fdnode_event_del(srv->ev, con->fdn); fdevent_unregister(srv->ev, con->fdn); con->fdn = NULL; - if (0 == fdio_close_socket(con->fd)) - --srv->cur_fds; - else + if (0 != fdio_close_socket(con->fd)) log_serror(r->conf.errh, __FILE__, __LINE__, "(warning) close: %d", con->fd); @@ -100,6 +98,7 @@ static void connection_close(connection *con) { } con->fd = -1; + --srv->cur_fds; connection_del(srv, con); } diff --git a/src/fdevent_impl.c b/src/fdevent_impl.c index a3a1f66b..bd409a85 100644 --- a/src/fdevent_impl.c +++ b/src/fdevent_impl.c @@ -282,14 +282,15 @@ fdevent_sched_run (fdevents * const ev) { for (fdnode *fdn = ev->pendclose; fdn; ) { int fd = fdn->fd; + /*(inlined fdio_close_socket() for tighter loop; worthwhile?)*/ #ifdef _WIN32 if (0 != closesocket(fd)) /* WSAPoll() valid only on SOCKET */ #else if (0 != close(fd)) #endif log_serror(ev->errh, __FILE__, __LINE__, "close() %d", fd); - else - --(*ev->cur_fds); + + --(*ev->cur_fds); fdnode * const fdn_tmp = fdn; fdn = (fdnode *)fdn->ctx; /* next */ |