Skip to content

Commit

Permalink
[Minor] Try to fix brain damaged libev timers
Browse files Browse the repository at this point in the history
  • Loading branch information
vstakhov committed Mar 16, 2020
1 parent db3a824 commit a14f280
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 0 deletions.
6 changes: 6 additions & 0 deletions src/libserver/fuzzy_backend/fuzzy_backend_redis.c
Expand Up @@ -420,6 +420,7 @@ rspamd_fuzzy_redis_shingles_callback (redisAsyncContext *c, gpointer r,
else {
/* Add timeout */
session->timeout.data = session;
ev_now_update_if_cheap ((struct ev_loop *)session->event_loop);
ev_timer_init (&session->timeout,
rspamd_fuzzy_redis_timeout,
session->backend->timeout, 0.0);
Expand Down Expand Up @@ -500,6 +501,7 @@ rspamd_fuzzy_backend_check_shingles (struct rspamd_fuzzy_redis_session *session)
else {
/* Add timeout */
session->timeout.data = session;
ev_now_update_if_cheap ((struct ev_loop *)session->event_loop);
ev_timer_init (&session->timeout,
rspamd_fuzzy_redis_timeout,
session->backend->timeout, 0.0);
Expand Down Expand Up @@ -677,6 +679,7 @@ rspamd_fuzzy_backend_check_redis (struct rspamd_fuzzy_backend *bk,
else {
/* Add timeout */
session->timeout.data = session;
ev_now_update_if_cheap ((struct ev_loop *)session->event_loop);
ev_timer_init (&session->timeout,
rspamd_fuzzy_redis_timeout,
session->backend->timeout, 0.0);
Expand Down Expand Up @@ -802,6 +805,7 @@ rspamd_fuzzy_backend_count_redis (struct rspamd_fuzzy_backend *bk,
else {
/* Add timeout */
session->timeout.data = session;
ev_now_update_if_cheap ((struct ev_loop *)session->event_loop);
ev_timer_init (&session->timeout,
rspamd_fuzzy_redis_timeout,
session->backend->timeout, 0.0);
Expand Down Expand Up @@ -928,6 +932,7 @@ rspamd_fuzzy_backend_version_redis (struct rspamd_fuzzy_backend *bk,
else {
/* Add timeout */
session->timeout.data = session;
ev_now_update_if_cheap ((struct ev_loop *)session->event_loop);
ev_timer_init (&session->timeout,
rspamd_fuzzy_redis_timeout,
session->backend->timeout, 0.0);
Expand Down Expand Up @@ -1554,6 +1559,7 @@ rspamd_fuzzy_backend_update_redis (struct rspamd_fuzzy_backend *bk,
else {
/* Add timeout */
session->timeout.data = session;
ev_now_update_if_cheap ((struct ev_loop *)session->event_loop);
ev_timer_init (&session->timeout,
rspamd_fuzzy_redis_timeout,
session->backend->timeout, 0.0);
Expand Down
1 change: 1 addition & 0 deletions src/lua/lua_redis.c
Expand Up @@ -1126,6 +1126,7 @@ lua_redis_make_request (lua_State *L)
REDIS_RETAIN (ctx); /* Cleared by fin event */
ctx->cmds_pending ++;
sp_ud->timeout_ev.data = sp_ud;
ev_now_update_if_cheap ((struct ev_loop *)ud->event_loop);
ev_timer_init (&sp_ud->timeout_ev, lua_redis_timeout, timeout, 0.0);
ev_timer_start (ud->event_loop, &sp_ud->timeout_ev);
ret = TRUE;
Expand Down

0 comments on commit a14f280

Please sign in to comment.