diff options
-rw-r--r-- | src/lua/lua_http.c | 4 |
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)) { |