diff options
author | Michael Grunder <michael.grunder@gmail.com> | 2018-09-29 21:59:01 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-29 21:59:01 +0300 |
commit | 2c9e0572361d5131f24fbc81a8f7baaafb671994 (patch) | |
tree | 6982b1e1f17b7cf2fc7e024652fad8212edadacd /redis_session.c | |
parent | bfd274712eeb372926d1106b3da3c4fc19c0a48a (diff) |
Streams (#1413)
Streams API
Diffstat (limited to 'redis_session.c')
-rw-r--r-- | redis_session.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/redis_session.c b/redis_session.c index 08022cb1..7f1a2656 100644 --- a/redis_session.c +++ b/redis_session.c @@ -1061,7 +1061,7 @@ PS_READ_FUNC(rediscluster) { redisCluster *c = PS_GET_MOD_DATA(); clusterReply *reply; char *cmd, *skey; - int cmdlen, skeylen; + int cmdlen, skeylen, free_flag; short slot; /* Set up our command and slot information */ @@ -1084,7 +1084,7 @@ PS_READ_FUNC(rediscluster) { efree(cmd); /* Attempt to read reply */ - reply = cluster_read_resp(c TSRMLS_CC); + reply = cluster_read_resp(c, 0 TSRMLS_CC); if (!reply || c->err) { if (reply) cluster_free_reply(reply, 1); return FAILURE; @@ -1099,16 +1099,20 @@ PS_READ_FUNC(rediscluster) { *val = reply->str; *vallen = reply->len; } + + free_flag = 0; #else if (reply->str == NULL) { *val = ZSTR_EMPTY_ALLOC(); } else { *val = zend_string_init(reply->str, reply->len, 0); } + + free_flag = 1; #endif /* Clean up */ - cluster_free_reply(reply, 0); + cluster_free_reply(reply, free_flag); /* Success! */ return SUCCESS; @@ -1148,7 +1152,7 @@ PS_WRITE_FUNC(rediscluster) { efree(cmd); /* Attempt to read reply */ - reply = cluster_read_resp(c TSRMLS_CC); + reply = cluster_read_resp(c, 0 TSRMLS_CC); if (!reply || c->err) { if (reply) cluster_free_reply(reply, 1); return FAILURE; @@ -1188,7 +1192,7 @@ PS_DESTROY_FUNC(rediscluster) { efree(cmd); /* Attempt to read reply */ - reply = cluster_read_resp(c TSRMLS_CC); + reply = cluster_read_resp(c, 0 TSRMLS_CC); if (!reply || c->err) { if (reply) cluster_free_reply(reply, 1); return FAILURE; |