diff --git a/degesch.c b/degesch.c index e0c8904..b00e7b6 100644 --- a/degesch.c +++ b/degesch.c @@ -225,7 +225,7 @@ channel_user_destroy (struct channel_user *self) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // We keep references to channels in their users and buffers, -// as well as in the name lookup table. +// and weak references in the name lookup table. struct channel { @@ -531,15 +531,15 @@ app_context_free (struct app_context *self) if (self->ssl_ctx) SSL_CTX_free (self->ssl_ctx); - str_map_free (&self->irc_users); - str_map_free (&self->irc_channels); - str_map_free (&self->irc_buffer_map); - if (self->irc_user) user_unref (self->irc_user); free (self->irc_user_mode); free (self->irc_user_host); + str_map_free (&self->irc_users); + str_map_free (&self->irc_channels); + str_map_free (&self->irc_buffer_map); + poller_free (&self->poller); LIST_FOR_EACH (struct buffer, iter, self->buffers)