aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2020-06-10 13:11:52 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2020-06-10 13:11:52 +0100
commit0d218b76d12633a36832794bb8eb1bd840d0cc1a (patch)
tree52416a8dc8559bf6fb9981ab4dfff711f3570bc8 /src
parent980d8b7d6b4369491bd99df633a8ad88100e9986 (diff)
downloadrspamd-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.c16
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);
+ }
}
}