File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -2298,6 +2298,7 @@ PHP_METHOD(Redis, multi)
22982298/* discard */
22992299PHP_METHOD (Redis , discard )
23002300{
2301+ int ret = FAILURE ;
23012302 RedisSock * redis_sock ;
23022303 zval * object ;
23032304
@@ -2310,9 +2311,21 @@ PHP_METHOD(Redis, discard)
23102311 RETURN_FALSE ;
23112312 }
23122313
2313- redis_sock -> mode = ATOMIC ;
2314- free_reply_callbacks (redis_sock );
2315- RETURN_BOOL (redis_send_discard (redis_sock TSRMLS_CC ) == SUCCESS );
2314+ if (IS_PIPELINE (redis_sock )) {
2315+ ret = SUCCESS ;
2316+ if (redis_sock -> pipeline_cmd ) {
2317+ zend_string_release (redis_sock -> pipeline_cmd );
2318+ redis_sock -> pipeline_cmd = NULL ;
2319+ }
2320+ } else if (IS_MULTI (redis_sock )) {
2321+ ret = redis_send_discard (redis_sock TSRMLS_CC );
2322+ }
2323+ if (ret == SUCCESS ) {
2324+ free_reply_callbacks (redis_sock );
2325+ redis_sock -> mode = ATOMIC ;
2326+ RETURN_TRUE ;
2327+ }
2328+ RETURN_FALSE ;
23162329}
23172330
23182331/* redis_sock_read_multibulk_multi_reply */
You can’t perform that action at this time.
0 commit comments