aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libserver/http/http_context.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libserver/http/http_context.c b/src/libserver/http/http_context.c
index 519e4fb04..2863c0fbc 100644
--- a/src/libserver/http/http_context.c
+++ b/src/libserver/http/http_context.c
@@ -492,8 +492,9 @@ rspamd_http_keepalive_handler (gint fd, short what, gpointer ud)
rspamd_inet_address_to_string_pretty (cbdata->conn->keepalive_hash_key->addr),
cbdata->conn->keepalive_hash_key->host,
cbdata->queue->length);
- rspamd_http_connection_unref (cbdata->conn);
+ /* unref call closes fd, so we need to remove ev watcher first! */
rspamd_ev_watcher_stop (cbdata->ctx->event_loop, &cbdata->ev);
+ rspamd_http_connection_unref (cbdata->conn);
g_free (cbdata);
}