struct redis_stat_runtime {
struct redis_stat_ctx *ctx;
struct rspamd_task *task;
- struct rspamd_symcache_item *item;
struct upstream *selected;
struct event timeout_event;
GArray *results;
}
if (rt->has_event) {
- if (rt->item) {
- rspamd_symcache_item_async_dec_check (task, rt->item, M);
- }
-
rspamd_session_remove_event (task->s, rspamd_redis_fin, rt);
}
}
}
if (rt->has_event) {
- if (rt->item) {
- rspamd_symcache_item_async_dec_check (task, rt->item, M);
- }
-
rspamd_session_remove_event (task->s, rspamd_redis_fin_learn, rt);
}
}
rt->redis_object_expanded, learned_key) == REDIS_OK) {
rspamd_session_add_event (task->s, rspamd_redis_fin, rt, M);
- rt->item = rspamd_symcache_get_cur_item (task);
rt->has_event = TRUE;
if (rspamd_event_pending (&rt->timeout_event, EV_TIMEOUT)) {
}
rspamd_session_add_event (task->s, rspamd_redis_fin_learn, rt, M);
- rt->item = rspamd_symcache_get_cur_item (task);
rt->has_event = TRUE;
/* Set timeout */
struct rspamd_redis_cache_runtime {
struct rspamd_redis_cache_ctx *ctx;
struct rspamd_task *task;
- struct rspamd_symcache_item *item;
struct upstream *selected;
struct event timeout_event;
redisAsyncContext *redis;
}
if (rt->has_event) {
- if (rt->item) {
- rspamd_symcache_item_async_dec_check (task, rt->item, M);
- }
rspamd_session_remove_event (task->s, rspamd_redis_cache_fin, rt);
}
}
}
if (rt->has_event) {
- if (rt->item) {
- rspamd_symcache_item_async_dec_check (task, rt->item, M);
- }
rspamd_session_remove_event (task->s, rspamd_redis_cache_fin, rt);
}
}
rspamd_redis_cache_fin,
rt,
M);
- rt->item = rspamd_symcache_get_cur_item (task);
event_add (&rt->timeout_event, &tv);
rt->has_event = TRUE;
}
rt->ctx->redis_object, h, flag) == REDIS_OK) {
rspamd_session_add_event (task->s,
rspamd_redis_cache_fin, rt, M);
- rt->item = rspamd_symcache_get_cur_item (task);
event_add (&rt->timeout_event, &tv);
rt->has_event = TRUE;
}