Avoid the "poller_fd::closed" feature
Reliability enhancement for Linux. This feature was created for ponymap, however we don't care about an extra syscall in most places. Doing it right even saves lines.
This commit is contained in:
7
kike.c
7
kike.c
@@ -693,9 +693,8 @@ server_context_free (struct server_context *self)
|
||||
|
||||
for (size_t i = 0; i < self->n_listen_fds; i++)
|
||||
{
|
||||
xclose (self->listen_fds[i]);
|
||||
self->listen_events[i].closed = true;
|
||||
poller_fd_reset (&self->listen_events[i]);
|
||||
xclose (self->listen_fds[i]);
|
||||
}
|
||||
free (self->listen_fds);
|
||||
free (self->listen_events);
|
||||
@@ -745,9 +744,8 @@ irc_initiate_quit (struct server_context *ctx)
|
||||
|
||||
for (size_t i = 0; i < ctx->n_listen_fds; i++)
|
||||
{
|
||||
xclose (ctx->listen_fds[i]);
|
||||
ctx->listen_events[i].closed = true;
|
||||
poller_fd_reset (&ctx->listen_events[i]);
|
||||
xclose (ctx->listen_fds[i]);
|
||||
}
|
||||
ctx->n_listen_fds = 0;
|
||||
|
||||
@@ -933,6 +931,7 @@ client_kill (struct client *c, const char *reason)
|
||||
xclose (c->socket_fd);
|
||||
c->socket_fd = -1;
|
||||
|
||||
// We don't fork any children, this is okay
|
||||
c->socket_event.closed = true;
|
||||
poller_fd_reset (&c->socket_event);
|
||||
client_cancel_timers (c);
|
||||
|
||||
Reference in New Issue
Block a user