From: Vsevolod Stakhov Date: Fri, 30 Nov 2018 15:54:41 +0000 (+0000) Subject: [Minor] Try to fix race condition in http connection X-Git-Tag: 1.8.3~17 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c5f5cb3fd5bb2d77f237c714d4df312bfbbee77c;p=thirdparty%2Frspamd.git [Minor] Try to fix race condition in http connection --- diff --git a/src/lua/lua_http.c b/src/lua/lua_http.c index 8063224497..2ca01d8a5b 100644 --- a/src/lua/lua_http.c +++ b/src/lua/lua_http.c @@ -420,12 +420,6 @@ lua_http_make_connection (struct lua_http_cbdata *cbd) cbd->auth); } - rspamd_http_connection_write_message (cbd->conn, cbd->msg, - cbd->host, cbd->mime_type, cbd, fd, - &cbd->tv, cbd->ev_base); - /* Message is now owned by a connection object */ - cbd->msg = NULL; - if (cbd->session) { rspamd_session_add_event (cbd->session, (event_finalizer_t) lua_http_fin, cbd, @@ -437,6 +431,15 @@ lua_http_make_connection (struct lua_http_cbdata *cbd) rspamd_symcache_item_async_inc (cbd->task, cbd->item, M); } + struct rspamd_http_message *msg = cbd->msg; + + /* Message is now owned by a connection object */ + cbd->msg = NULL; + + rspamd_http_connection_write_message (cbd->conn, msg, + cbd->host, cbd->mime_type, cbd, fd, + &cbd->tv, cbd->ev_base); + return TRUE; }