@@ -12,6 +12,14 @@ extern zend_class_entry *redis_ce;
12
12
extern zend_class_entry * redis_exception_ce ;
13
13
extern zend_class_entry * spl_ce_RuntimeException ;
14
14
15
+ PHPAPI void redis_stream_close (RedisSock * redis_sock TSRMLS_DC )
16
+ {
17
+ if (!redis_sock -> persistent ) {
18
+ php_stream_close (redis_sock -> stream );
19
+ } else {
20
+ php_stream_pclose (redis_sock -> stream );
21
+ }
22
+ }
15
23
16
24
PHPAPI int redis_check_eof (RedisSock * redis_sock TSRMLS_DC )
17
25
{
@@ -21,11 +29,7 @@ PHPAPI int redis_check_eof(RedisSock *redis_sock TSRMLS_DC)
21
29
while (eof ) {
22
30
if (count ++ == 10 ) { /* too many failures */
23
31
if (redis_sock -> stream ) { /* close stream if still here */
24
- if (!redis_sock -> persistent ) {
25
- php_stream_close (redis_sock -> stream );
26
- } else {
27
- php_stream_pclose (redis_sock -> stream );
28
- }
32
+ redis_stream_close (redis_sock TSRMLS_CC );
29
33
redis_sock -> stream = NULL ;
30
34
redis_sock -> mode = ATOMIC ;
31
35
redis_sock -> status = REDIS_SOCK_STATUS_FAILED ;
@@ -34,11 +38,7 @@ PHPAPI int redis_check_eof(RedisSock *redis_sock TSRMLS_DC)
34
38
return -1 ;
35
39
}
36
40
if (redis_sock -> stream ) { /* close existing stream before reconnecting */
37
- if (!redis_sock -> persistent ) {
38
- php_stream_close (redis_sock -> stream );
39
- } else {
40
- php_stream_pclose (redis_sock -> stream );
41
- }
41
+ redis_stream_close (redis_sock TSRMLS_CC );
42
42
redis_sock -> stream = NULL ;
43
43
redis_sock -> mode = ATOMIC ;
44
44
}
@@ -58,11 +58,7 @@ PHPAPI zval *redis_sock_read_multibulk_reply_zval(INTERNAL_FUNCTION_PARAMETERS,
58
58
}
59
59
60
60
if (php_stream_gets (redis_sock -> stream , inbuf , 1024 ) == NULL ) {
61
- if (!redis_sock -> persistent ) {
62
- php_stream_close (redis_sock -> stream );
63
- } else {
64
- php_stream_pclose (redis_sock -> stream );
65
- }
61
+ redis_stream_close (redis_sock TSRMLS_CC );
66
62
redis_sock -> stream = NULL ;
67
63
redis_sock -> status = REDIS_SOCK_STATUS_FAILED ;
68
64
redis_sock -> mode = ATOMIC ;
@@ -132,11 +128,7 @@ PHPAPI char *redis_sock_read(RedisSock *redis_sock, int *buf_len TSRMLS_DC)
132
128
}
133
129
134
130
if (php_stream_gets (redis_sock -> stream , inbuf , 1024 ) == NULL ) {
135
- if (!redis_sock -> persistent ) {
136
- php_stream_close (redis_sock -> stream );
137
- } else {
138
- php_stream_pclose (redis_sock -> stream );
139
- }
131
+ redis_stream_close (redis_sock TSRMLS_CC );
140
132
redis_sock -> stream = NULL ;
141
133
redis_sock -> status = REDIS_SOCK_STATUS_FAILED ;
142
134
redis_sock -> mode = ATOMIC ;
@@ -617,11 +609,7 @@ PHPAPI int redis_sock_read_multibulk_reply_zipped_with_flag(INTERNAL_FUNCTION_PA
617
609
return -1 ;
618
610
}
619
611
if (php_stream_gets (redis_sock -> stream , inbuf , 1024 ) == NULL ) {
620
- if (!redis_sock -> persistent ) {
621
- php_stream_close (redis_sock -> stream );
622
- } else {
623
- php_stream_pclose (redis_sock -> stream );
624
- }
612
+ redis_stream_close (redis_sock TSRMLS_CC );
625
613
redis_sock -> stream = NULL ;
626
614
redis_sock -> stream = NULL ;
627
615
redis_sock -> status = REDIS_SOCK_STATUS_FAILED ;
@@ -875,11 +863,7 @@ PHPAPI int redis_sock_read_multibulk_reply(INTERNAL_FUNCTION_PARAMETERS, RedisSo
875
863
return -1 ;
876
864
}
877
865
if (php_stream_gets (redis_sock -> stream , inbuf , 1024 ) == NULL ) {
878
- if (!redis_sock -> persistent ) {
879
- php_stream_close (redis_sock -> stream );
880
- } else {
881
- php_stream_pclose (redis_sock -> stream );
882
- }
866
+ redis_stream_close (redis_sock TSRMLS_CC );
883
867
redis_sock -> stream = NULL ;
884
868
redis_sock -> status = REDIS_SOCK_STATUS_FAILED ;
885
869
redis_sock -> mode = ATOMIC ;
@@ -941,11 +925,7 @@ PHPAPI int redis_sock_read_multibulk_reply_assoc(INTERNAL_FUNCTION_PARAMETERS, R
941
925
return -1 ;
942
926
}
943
927
if (php_stream_gets (redis_sock -> stream , inbuf , 1024 ) == NULL ) {
944
- if (!redis_sock -> persistent ) {
945
- php_stream_close (redis_sock -> stream );
946
- } else {
947
- php_stream_pclose (redis_sock -> stream );
948
- }
928
+ redis_stream_close (redis_sock TSRMLS_CC );
949
929
redis_sock -> stream = NULL ;
950
930
redis_sock -> status = REDIS_SOCK_STATUS_FAILED ;
951
931
redis_sock -> mode = ATOMIC ;
0 commit comments