Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 0f1ca0c

Browse files
committed
Unsubscribe from all channels
1 parent 8e747ec commit 0f1ca0c

1 file changed

Lines changed: 4 additions & 5 deletions

File tree

redis_commands.c

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1166,11 +1166,6 @@ int redis_unsubscribe_cmd(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock,
11661166
ht_arr = Z_ARRVAL_P(z_arr);
11671167

11681168
sctx->argc = zend_hash_num_elements(ht_arr);
1169-
if (sctx->argc == 0) {
1170-
efree(sctx);
1171-
return FAILURE;
1172-
}
1173-
11741169
redis_cmd_init_sstr(&cmdstr, sctx->argc, kw, strlen(kw));
11751170

11761171
ZEND_HASH_FOREACH_VAL(ht_arr, z_chan) {
@@ -1183,6 +1178,10 @@ int redis_unsubscribe_cmd(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock,
11831178
if (key_free) efree(key);
11841179
} ZEND_HASH_FOREACH_END();
11851180

1181+
if (!sctx->argc && redis_sock->subs) {
1182+
sctx->argc = zend_hash_num_elements(redis_sock->subs);
1183+
}
1184+
11861185
// Push out vals
11871186
*cmd_len = cmdstr.len;
11881187
*cmd = cmdstr.c;

0 commit comments

Comments
 (0)