aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/lua/lua_http.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/lua/lua_http.c b/src/lua/lua_http.c
index 10b108f13..71cc35f15 100644
--- a/src/lua/lua_http.c
+++ b/src/lua/lua_http.c
@@ -65,6 +65,7 @@ struct lua_http_cbdata {
lua_State *L;
struct rspamd_http_connection *conn;
struct rspamd_async_session *session;
+ struct rspamd_async_watcher *w;
struct rspamd_http_message *msg;
struct event_base *ev_base;
struct timeval tv;
@@ -123,6 +124,7 @@ lua_http_maybe_free (struct lua_http_cbdata *cbd)
{
if (cbd->session) {
rspamd_session_remove_event (cbd->session, lua_http_fin, cbd);
+ rspamd_session_watcher_pop (cbd->session, cbd->w);
}
else {
lua_http_fin (cbd);
@@ -442,6 +444,8 @@ lua_http_request (lua_State *L)
(event_finalizer_t)lua_http_fin,
cbd,
g_quark_from_static_string ("lua http"));
+ cbd->w = rspamd_session_get_watcher (session);
+ rspamd_session_watcher_push (session);
}
if (rspamd_parse_inet_address (&cbd->addr, msg->host->str)) {