commit e9e7ea8: [Minor] Fix timer race in hs_helper

Vsevolod Stakhov vsevolod at highsecure.ru
Fri Oct 4 15:56:06 UTC 2019


Author: Vsevolod Stakhov
Date: 2019-10-04 16:55:20 +0100
URL: https://github.com/rspamd/rspamd/commit/e9e7ea8b37bc8e45d21a5418b286bbed389c73cf (HEAD -> master)

[Minor] Fix timer race in hs_helper

---
 src/hs_helper.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/hs_helper.c b/src/hs_helper.c
index d0fbb1cd9..cfcab33fd 100644
--- a/src/hs_helper.c
+++ b/src/hs_helper.c
@@ -200,6 +200,8 @@ rspamd_rs_delayed_cb (EV_P_ ev_timer *w, int revents)
 			ctx->event_loop, &srv_cmd, -1, NULL, NULL);
 	ev_timer_stop (EV_A_ w);
 	g_free (w);
+
+	ev_timer_again (EV_A_ &ctx->recompile_timer);
 }
 
 static void
@@ -286,6 +288,8 @@ rspamd_hs_helper_reload (struct rspamd_main *rspamd_main,
 				strerror (errno));
 	}
 
+	/* Stop recompile */
+	ev_timer_stop (ctx->event_loop, &ctx->recompile_timer);
 	rspamd_rs_compile (ctx, worker, TRUE);
 
 	return TRUE;
@@ -302,7 +306,6 @@ rspamd_hs_helper_timer (EV_P_ ev_timer *w, int revents)
 	tim = rspamd_time_jitter (ctx->recompile_time, 0);
 	w->repeat = tim;
 	rspamd_rs_compile (ctx, worker, FALSE);
-	ev_timer_again (EV_A_ w);
 }
 
 static void


More information about the Commits mailing list