]> source.dussan.org Git - rspamd.git/commitdiff
[Fix] Restore redis runtime state
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 17 Jun 2016 08:35:04 +0000 (09:35 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 17 Jun 2016 08:35:04 +0000 (09:35 +0100)
src/libstat/backends/redis_backend.c

index 8aed0699449d415ee6c0e70f9371201856f00a67..823a5f71bb0ae1db8daa96c1c2351d8d5b14990a 100644 (file)
@@ -767,14 +767,13 @@ rspamd_redis_connected (redisAsyncContext *c, gpointer r, gpointer priv)
                        }
 
                        rt->learned = val;
-
-                       rt->conn_state = RSPAMD_REDIS_CONNECTED;
                        REF_RETAIN (rt);
-
                        msg_debug_task ("connected to redis server, tokens learned for %s: %uL",
                                        rt->redis_object_expanded, rt->learned);
                        rspamd_upstream_ok (rt->selected);
+                       /* This also set state to terminated state */
                        rspamd_session_remove_event (task->s, rspamd_redis_fin, rt);
+                       rt->conn_state = RSPAMD_REDIS_CONNECTED;
                }
                else {
                        /* This could be caused by removing redis context forcefully */