From: Vsevolod Stakhov Date: Thu, 9 Jun 2016 13:18:16 +0000 (+0100) Subject: [Fix] Another fix for redis timeouts X-Git-Tag: 1.3.0~389 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=60ef2e36f2264d1d0baf61116324f9bcb11eadfc;p=thirdparty%2Frspamd.git [Fix] Another fix for redis timeouts --- diff --git a/src/libstat/backends/redis_backend.c b/src/libstat/backends/redis_backend.c index d7725a4c18..a2924d0545 100644 --- a/src/libstat/backends/redis_backend.c +++ b/src/libstat/backends/redis_backend.c @@ -708,10 +708,14 @@ rspamd_redis_timeout (gint fd, short what, gpointer d) msg_err_task_check ("connection to redis server %s timed out", rspamd_upstream_name (rt->selected)); rspamd_upstream_fail (rt->selected); + + if (rt->conn_state != RSPAMD_REDIS_CONNECTED) { + rspamd_session_remove_event (task->s, rspamd_redis_fin, rt); + } + rt->conn_state = RSPAMD_REDIS_TIMEDOUT; redisAsyncFree (rt->redis); rt->redis = NULL; - REF_RELEASE (rt); } /* Called when we have connected to the redis server and got stats */