From: Vsevolod Stakhov Date: Mon, 31 Oct 2022 20:10:05 +0000 (+0000) Subject: [Minor] Restore non-blocking semantics for the control socket to avoid deadlocks X-Git-Tag: 3.4~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=425813061cce696a2d77094a93f6c13d73ccc783;p=thirdparty%2Frspamd.git [Minor] Restore non-blocking semantics for the control socket to avoid deadlocks XXX: it might be osx specific --- diff --git a/src/libserver/worker_util.c b/src/libserver/worker_util.c index 92ae46bf0e..3361377f41 100644 --- a/src/libserver/worker_util.c +++ b/src/libserver/worker_util.c @@ -1179,8 +1179,8 @@ rspamd_handle_child_fork (struct rspamd_worker *wrk, * Read comments in `rspamd_handle_main_fork` for details why these channel * is blocking. */ -#if 0 rspamd_socket_nonblocking (wrk->control_pipe[1]); +#if 0 rspamd_socket_nonblocking (wrk->srv_pipe[1]); #endif rspamd_main->cfg->cur_worker = wrk; @@ -1212,9 +1212,10 @@ rspamd_handle_main_fork (struct rspamd_worker *wrk, * beginning. */ #if 0 - rspamd_socket_nonblocking (wrk->control_pipe[0]); rspamd_socket_nonblocking (wrk->srv_pipe[0]); #endif + rspamd_socket_nonblocking (wrk->control_pipe[0]); + rspamd_srv_start_watching (rspamd_main, wrk, ev_base); /* Child event */ wrk->cld_ev.data = wrk;