msg_debug_rpool ("active connection removed");
if (conn->ctx) {
- g_hash_table_remove (conn->elt->pool->elts_by_ctx, conn->ctx);
- redisAsyncFree (conn->ctx);
+ if (!(conn->ctx->c.flags & REDIS_FREEING)) {
+ redisAsyncContext *ac = conn->ctx;
+
+ conn->ctx = NULL;
+ g_hash_table_remove (conn->elt->pool->elts_by_ctx, conn->ctx);
+ ac->onDisconnect = NULL;
+ redisAsyncFree (ac);
+ }
}
g_queue_unlink (conn->elt->active, conn->entry);
}
memset (res, 0, sizeof (res));
-
for (i = 0; i <= (gint)input->len; i ++) {
if (i - beg >= SHINGLES_WINDOW || i == (gint)input->len) {
beg++;
}
-
+#undef INNER_CYCLE_SHINGLES
/* Now we need to filter all hashes and make a shingles result */
for (i = 0; i < RSPAMD_SHINGLE_SIZE; i ++) {
shingle->hashes[i] = filter (hashes[i], hlen,