Save a syscall per connection
This commit is contained in:
parent
457eff90e3
commit
97bcad8a03
|
@ -512,13 +512,16 @@ unit_abort (struct unit *u)
|
||||||
if (u->service->on_aborted)
|
if (u->service->on_aborted)
|
||||||
u->service->on_aborted (u->service_data, u);
|
u->service->on_aborted (u->service_data, u);
|
||||||
|
|
||||||
poller_timer_reset (&u->timeout_event);
|
|
||||||
poller_fd_reset (&u->fd_event);
|
|
||||||
|
|
||||||
u->transport->cleanup (u);
|
u->transport->cleanup (u);
|
||||||
u->service->scan_free (u->service_data);
|
u->service->scan_free (u->service_data);
|
||||||
xclose (u->socket_fd);
|
xclose (u->socket_fd);
|
||||||
|
|
||||||
|
poller_timer_reset (&u->timeout_event);
|
||||||
|
|
||||||
|
// This way we avoid a syscall with epoll
|
||||||
|
u->fd_event.fd = -1;
|
||||||
|
poller_fd_reset (&u->fd_event);
|
||||||
|
|
||||||
u->transport_data = NULL;
|
u->transport_data = NULL;
|
||||||
u->service_data = NULL;
|
u->service_data = NULL;
|
||||||
u->socket_fd = -1;
|
u->socket_fd = -1;
|
||||||
|
|
5
utils.c
5
utils.c
|
@ -1161,8 +1161,9 @@ poller_remove_at_index (struct poller *self, size_t index)
|
||||||
fd->index = -1;
|
fd->index = -1;
|
||||||
|
|
||||||
poller_remove_from_dispatch (self, fd);
|
poller_remove_from_dispatch (self, fd);
|
||||||
hard_assert (epoll_ctl (self->epoll_fd,
|
if (fd->fd != -1)
|
||||||
EPOLL_CTL_DEL, fd->fd, (void *) "") != -1);
|
hard_assert (epoll_ctl (self->epoll_fd,
|
||||||
|
EPOLL_CTL_DEL, fd->fd, (void *) "") != -1);
|
||||||
|
|
||||||
if (index != --self->len)
|
if (index != --self->len)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue