]> source.dussan.org Git - rspamd.git/commitdiff
Use watching for http sessions.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Mon, 15 Jun 2015 18:19:40 +0000 (19:19 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Mon, 15 Jun 2015 18:19:40 +0000 (19:19 +0100)
src/lua/lua_http.c

index 10b108f13f5a5d3b7d08d289cbea672c5d375dcb..71cc35f155aca3040b49c2095f70a66656f5cfa8 100644 (file)
@@ -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)) {