Skip to content

Commit

Permalink
[Fix] Another try to fix slow callbacks and timers
Browse files Browse the repository at this point in the history
  • Loading branch information
vstakhov committed Oct 31, 2019
1 parent 62fb0ae commit a35e93d
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 3 deletions.
6 changes: 6 additions & 0 deletions src/libutil/libev_helper.c
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,9 @@ rspamd_ev_watcher_start (struct ev_loop *loop,
ev_io_start (EV_A_ &ev->io);

if (timeout > 0) {
/* Update timestamp to avoid timers running early */
ev_now_update (loop);

ev->timeout = timeout;
ev_timer_set (&ev->tm, timeout, 0.0);
ev_timer_start (EV_A_ &ev->tm);
Expand Down Expand Up @@ -109,6 +112,9 @@ rspamd_ev_watcher_reschedule (struct ev_loop *loop,

if (ev->timeout > 0) {
if (!(ev_can_stop (&ev->tm))) {
/* Update timestamp to avoid timers running early */
ev_now_update (loop);

ev->tm.data = ev;
ev_timer_init (&ev->tm, rspamd_ev_watcher_timer_cb, ev->timeout, 0.0);
ev_timer_start (EV_A_ &ev->tm);
Expand Down
3 changes: 0 additions & 3 deletions src/lua/lua_http.c
Original file line number Diff line number Diff line change
Expand Up @@ -391,9 +391,6 @@ lua_http_make_connection (struct lua_http_cbdata *cbd)

if (cbd->flags & RSPAMD_LUA_HTTP_FLAG_KEEP_ALIVE) {
cbd->fd = -1; /* FD is owned by keepalive connection */

/* Update timestamp to make a more precise timers */
ev_now_update (cbd->event_loop);
cbd->conn = rspamd_http_connection_new_keepalive (
NULL, /* Default context */
NULL,
Expand Down

0 comments on commit a35e93d

Please sign in to comment.