diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2020-06-10 13:11:52 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2020-06-10 13:11:52 +0100 |
commit | 0d218b76d12633a36832794bb8eb1bd840d0cc1a (patch) | |
tree | 52416a8dc8559bf6fb9981ab4dfff711f3570bc8 /src | |
parent | 980d8b7d6b4369491bd99df633a8ad88100e9986 (diff) | |
download | rspamd-0d218b76d12633a36832794bb8eb1bd840d0cc1a.tar.gz rspamd-0d218b76d12633a36832794bb8eb1bd840d0cc1a.zip |
[Minor] Add shutdown calls to specify one direction for the pipe
Diffstat (limited to 'src')
-rw-r--r-- | src/fuzzy_storage.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/fuzzy_storage.c b/src/fuzzy_storage.c index 588e4a137..99e79e098 100644 --- a/src/fuzzy_storage.c +++ b/src/fuzzy_storage.c @@ -2165,11 +2165,17 @@ fuzzy_peer_rep (struct rspamd_worker *worker, cur = g_list_next (cur); } - if (worker->index == 0 && ctx->peer_fd != -1) { - /* Listen for peer requests */ - ctx->peer_ev.data = ctx; - ev_io_init (&ctx->peer_ev, rspamd_fuzzy_peer_io, ctx->peer_fd, EV_READ); - ev_io_start (ctx->event_loop, &ctx->peer_ev); + if (ctx->peer_fd != -1) { + if (worker->index == 0) { + /* Listen for peer requests */ + shutdown (ctx->peer_fd, SHUT_WR); + ctx->peer_ev.data = ctx; + ev_io_init (&ctx->peer_ev, rspamd_fuzzy_peer_io, ctx->peer_fd, EV_READ); + ev_io_start (ctx->event_loop, &ctx->peer_ev); + } + else { + shutdown (ctx->peer_fd, SHUT_RD); + } } } |