Skip to content

Commit 6edae7c

Browse files
committed
Fixed ZTS problems.
1 parent 04976d3 commit 6edae7c

File tree

5 files changed

+189
-195
lines changed

5 files changed

+189
-195
lines changed

common.h

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@
1919
#define REDIS_MULTI 1
2020
#define REDIS_PIPELINE 2
2121

22-
#define IF_MULTI() if(get_flag(object) == REDIS_MULTI)
23-
#define IF_MULTI_OR_ATOMIC() if(get_flag(object) == REDIS_MULTI || get_flag(object) == REDIS_ATOMIC)\
24-
25-
#define IF_MULTI_OR_PIPELINE() if(get_flag(object) == REDIS_MULTI || get_flag(object) == REDIS_PIPELINE)
26-
#define IF_PIPELINE() if(get_flag(object) == REDIS_PIPELINE)
27-
#define IF_NOT_MULTI() if(get_flag(object) != REDIS_MULTI)
28-
#define IF_ATOMIC() if(get_flag(object) == REDIS_ATOMIC)
29-
#define ELSE_IF_MULTI() else if(get_flag(object) == REDIS_MULTI) { \
22+
#define IF_MULTI() if(get_flag(object TSRMLS_CC) == REDIS_MULTI)
23+
#define IF_MULTI_OR_ATOMIC() if(get_flag(object TSRMLS_CC) == REDIS_MULTI || get_flag(object TSRMLS_CC) == REDIS_ATOMIC)\
24+
25+
#define IF_MULTI_OR_PIPELINE() if(get_flag(object TSRMLS_CC) == REDIS_MULTI || get_flag(object TSRMLS_CC) == REDIS_PIPELINE)
26+
#define IF_PIPELINE() if(get_flag(object TSRMLS_CC) == REDIS_PIPELINE)
27+
#define IF_NOT_MULTI() if(get_flag(object TSRMLS_CC) != REDIS_MULTI)
28+
#define IF_ATOMIC() if(get_flag(object TSRMLS_CC) == REDIS_ATOMIC)
29+
#define ELSE_IF_MULTI() else if(get_flag(object TSRMLS_CC) == REDIS_MULTI) { \
3030
if(redis_response_enqueued(redis_sock TSRMLS_CC) == 1) {\
3131
RETURN_ZVAL(getThis(), 1, 0);\
3232
} else {\
@@ -84,7 +84,7 @@
8484
}
8585

8686
#define REDIS_ELSE_IF_MULTI(function) \
87-
else if(get_flag(object) == REDIS_MULTI) { \
87+
else if(get_flag(object TSRMLS_CC) == REDIS_MULTI) { \
8888
if(redis_response_enqueued(redis_sock TSRMLS_CC) == 1) {\
8989
REDIS_SAVE_CALLBACK(function); \
9090
RETURN_ZVAL(getThis(), 1, 0);\

library.c

Lines changed: 23 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ PHPAPI void redis_check_eof(RedisSock *redis_sock TSRMLS_DC)
2222
}
2323
}
2424

25-
PHPAPI zval *redis_sock_read_multibulk_reply_zval(INTERNAL_FUNCTION_PARAMETERS,
26-
RedisSock *redis_sock TSRMLS_DC) {
25+
PHPAPI zval *redis_sock_read_multibulk_reply_zval(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock) {
2726
char inbuf[1024], *response;
2827
int response_len;
2928

@@ -47,7 +46,7 @@ PHPAPI zval *redis_sock_read_multibulk_reply_zval(INTERNAL_FUNCTION_PARAMETERS,
4746
/**
4847
* redis_sock_read_bulk_reply
4948
*/
50-
PHPAPI char *redis_sock_read_bulk_reply(RedisSock *redis_sock, int bytes)
49+
PHPAPI char *redis_sock_read_bulk_reply(RedisSock *redis_sock, int bytes TSRMLS_DC)
5150
{
5251
int offset = 0;
5352
size_t got;
@@ -110,7 +109,7 @@ PHPAPI char *redis_sock_read(RedisSock *redis_sock, int *buf_len TSRMLS_DC)
110109

111110
case '$':
112111
*buf_len = atoi(inbuf + 1);
113-
resp = redis_sock_read_bulk_reply(redis_sock, *buf_len);
112+
resp = redis_sock_read_bulk_reply(redis_sock, *buf_len TSRMLS_CC);
114113
return resp;
115114

116115
default:
@@ -244,7 +243,7 @@ redis_cmd_format(char **ret, char *format, ...) {
244243
}
245244
}
246245

247-
PHPAPI void redis_bulk_double_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab TSRMLS_DC) {
246+
PHPAPI void redis_bulk_double_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab) {
248247

249248
char *response;
250249
int response_len;
@@ -263,7 +262,7 @@ PHPAPI void redis_bulk_double_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *
263262
}
264263
}
265264

266-
PHPAPI void redis_boolean_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab TSRMLS_DC) {
265+
PHPAPI void redis_boolean_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab) {
267266

268267
char *response;
269268
int response_len;
@@ -295,7 +294,7 @@ PHPAPI void redis_boolean_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redi
295294
}
296295
}
297296

298-
PHPAPI void redis_long_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval * z_tab TSRMLS_DC) {
297+
PHPAPI void redis_long_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval * z_tab) {
299298

300299
char *response;
301300
int response_len;
@@ -325,7 +324,7 @@ PHPAPI void redis_long_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_s
325324
}
326325
}
327326

328-
PHPAPI int redis_sock_read_multibulk_reply_zipped_with_flag(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, int flag TSRMLS_DC) {
327+
PHPAPI int redis_sock_read_multibulk_reply_zipped_with_flag(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, int flag) {
329328

330329
/*
331330
int ret = redis_sock_read_multibulk_reply(INTERNAL_FUNCTION_PARAM_PASSTHRU, redis_sock, z_tab TSRMLS_CC);
@@ -363,16 +362,16 @@ PHPAPI int redis_sock_read_multibulk_reply_zipped_with_flag(INTERNAL_FUNCTION_PA
363362
return 0;
364363
}
365364

366-
PHPAPI int redis_sock_read_multibulk_reply_zipped(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab TSRMLS_DC) {
365+
PHPAPI int redis_sock_read_multibulk_reply_zipped(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab) {
367366

368367
return redis_sock_read_multibulk_reply_zipped_with_flag(INTERNAL_FUNCTION_PARAM_PASSTHRU, redis_sock, z_tab, 1);
369368
}
370369

371-
PHPAPI int redis_sock_read_multibulk_reply_zipped_strings(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab TSRMLS_DC) {
370+
PHPAPI int redis_sock_read_multibulk_reply_zipped_strings(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab) {
372371
return redis_sock_read_multibulk_reply_zipped_with_flag(INTERNAL_FUNCTION_PARAM_PASSTHRU, redis_sock, z_tab, 0);
373372
}
374373

375-
PHPAPI void redis_1_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab TSRMLS_DC) {
374+
PHPAPI void redis_1_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab) {
376375

377376
char *response;
378377
int response_len;
@@ -404,7 +403,7 @@ PHPAPI void redis_1_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock
404403
}
405404
}
406405

407-
PHPAPI void redis_string_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab TSRMLS_DC) {
406+
PHPAPI void redis_string_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab) {
408407

409408
char *response;
410409
int response_len;
@@ -538,7 +537,7 @@ PHPAPI int redis_sock_disconnect(RedisSock *redis_sock TSRMLS_DC)
538537
int res = 0;
539538

540539
if (redis_sock->stream != NULL) {
541-
redis_sock_write(redis_sock, "QUIT", sizeof("QUIT") - 1);
540+
redis_sock_write(redis_sock, "QUIT", sizeof("QUIT") - 1 TSRMLS_CC);
542541

543542
redis_sock->status = REDIS_SOCK_STATUS_DISCONNECTED;
544543
php_stream_close(redis_sock->stream);
@@ -553,8 +552,7 @@ PHPAPI int redis_sock_disconnect(RedisSock *redis_sock TSRMLS_DC)
553552
/**
554553
* redis_sock_read_multibulk_reply
555554
*/
556-
PHPAPI int redis_sock_read_multibulk_reply(INTERNAL_FUNCTION_PARAMETERS,
557-
RedisSock *redis_sock, zval *z_tab TSRMLS_DC)
555+
PHPAPI int redis_sock_read_multibulk_reply(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab)
558556
{
559557
char inbuf[1024], *response;
560558
int response_len;
@@ -586,7 +584,7 @@ PHPAPI int redis_sock_read_multibulk_reply(INTERNAL_FUNCTION_PARAMETERS,
586584

587585
PHPAPI int
588586
redis_sock_read_multibulk_reply_loop(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock,
589-
zval *z_tab, int numElems TSRMLS_DC)
587+
zval *z_tab, int numElems)
590588
{
591589
char *response;
592590
int response_len;
@@ -607,7 +605,7 @@ redis_sock_read_multibulk_reply_loop(INTERNAL_FUNCTION_PARAMETERS, RedisSock *re
607605
/**
608606
* redis_sock_write
609607
*/
610-
PHPAPI int redis_sock_write(RedisSock *redis_sock, char *cmd, size_t sz)
608+
PHPAPI int redis_sock_write(RedisSock *redis_sock, char *cmd, size_t sz TSRMLS_DC)
611609
{
612610
redis_check_eof(redis_sock TSRMLS_CC);
613611
return php_stream_write(redis_sock->stream, cmd, sz);
@@ -623,7 +621,7 @@ PHPAPI void redis_free_socket(RedisSock *redis_sock)
623621
}
624622

625623

626-
PHPAPI fold_item* get_multi_head(zval *object) {
624+
PHPAPI fold_item* get_multi_head(zval *object TSRMLS_DC) {
627625

628626
zval **multi_head = NULL;
629627
int type;
@@ -632,7 +630,7 @@ PHPAPI fold_item* get_multi_head(zval *object) {
632630
return zend_list_find(Z_LVAL_PP(multi_head), &type);
633631
}
634632

635-
PHPAPI void set_multi_head(zval *object, fold_item *head) {
633+
PHPAPI void set_multi_head(zval *object, fold_item *head TSRMLS_DC) {
636634

637635
zval **multi_head = NULL;
638636

@@ -645,7 +643,7 @@ PHPAPI void set_multi_head(zval *object, fold_item *head) {
645643
add_property_resource(object, "multi_head", list_id);
646644
}
647645

648-
PHPAPI fold_item* get_multi_current(zval *object) {
646+
PHPAPI fold_item* get_multi_current(zval *object TSRMLS_DC) {
649647

650648
zval **multi_current = NULL;
651649
int type;
@@ -654,7 +652,7 @@ PHPAPI fold_item* get_multi_current(zval *object) {
654652
return zend_list_find(Z_LVAL_PP(multi_current), &type);
655653
}
656654

657-
PHPAPI void set_multi_current(zval *object, fold_item *current) {
655+
PHPAPI void set_multi_current(zval *object, fold_item *current TSRMLS_DC) {
658656

659657
zval **multi_current = NULL;
660658

@@ -667,7 +665,7 @@ PHPAPI void set_multi_current(zval *object, fold_item *current) {
667665
add_property_resource(object, "multi_current", list_id);
668666
}
669667

670-
PHPAPI request_item* get_pipeline_head(zval *object) {
668+
PHPAPI request_item* get_pipeline_head(zval *object TSRMLS_DC) {
671669

672670
zval **pipeline_head = NULL;
673671
int type;
@@ -676,7 +674,7 @@ PHPAPI request_item* get_pipeline_head(zval *object) {
676674
return zend_list_find(Z_LVAL_PP(pipeline_head), &type);
677675
}
678676

679-
PHPAPI void set_pipeline_head(zval *object, request_item *head) {
677+
PHPAPI void set_pipeline_head(zval *object, request_item *head TSRMLS_DC) {
680678

681679
zval **pipeline_head = NULL;
682680

@@ -689,7 +687,7 @@ PHPAPI void set_pipeline_head(zval *object, request_item *head) {
689687
add_property_resource(object, "pipeline_head", list_id);
690688
}
691689

692-
PHPAPI request_item* get_pipeline_current(zval *object) {
690+
PHPAPI request_item* get_pipeline_current(zval *object TSRMLS_DC) {
693691

694692
zval **pipeline_current = NULL;
695693
int type;
@@ -698,7 +696,7 @@ PHPAPI request_item* get_pipeline_current(zval *object) {
698696
return zend_list_find(Z_LVAL_PP(pipeline_current), &type);
699697
}
700698

701-
PHPAPI void set_pipeline_current(zval *object, request_item *current) {
699+
PHPAPI void set_pipeline_current(zval *object, request_item *current TSRMLS_DC) {
702700

703701
zval **pipeline_current = NULL;
704702

library.h

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,21 @@ int redis_cmd_format(char **ret, char *format, ...);
55

66
PHPAPI char * redis_sock_read(RedisSock *redis_sock, int *buf_len TSRMLS_DC);
77

8-
PHPAPI void redis_1_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab TSRMLS_DC);
9-
PHPAPI void redis_long_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval* z_tab TSRMLS_DC);
10-
PHPAPI void redis_boolean_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab TSRMLS_DC);
11-
PHPAPI void redis_bulk_double_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab TSRMLS_DC);
12-
PHPAPI void redis_string_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab TSRMLS_DC);
8+
PHPAPI void redis_1_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab);
9+
PHPAPI void redis_long_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval* z_tab);
10+
PHPAPI void redis_boolean_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab);
11+
PHPAPI void redis_bulk_double_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab);
12+
PHPAPI void redis_string_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab);
1313
PHPAPI RedisSock* redis_sock_create(char *host, int host_len, unsigned short port, long timeout);
1414
PHPAPI int redis_sock_connect(RedisSock *redis_sock TSRMLS_DC);
1515
PHPAPI int redis_sock_server_open(RedisSock *redis_sock, int force_connect TSRMLS_DC);
1616
PHPAPI int redis_sock_disconnect(RedisSock *redis_sock TSRMLS_DC);
17-
PHPAPI zval *redis_sock_read_multibulk_reply_zval(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock TSRMLS_DC);
17+
PHPAPI zval *redis_sock_read_multibulk_reply_zval(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock);
1818
PHPAPI char *redis_sock_read_bulk_reply(RedisSock *redis_sock, int bytes);
19-
PHPAPI int redis_sock_read_multibulk_reply(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *_z_tab TSRMLS_DC);
20-
PHPAPI int redis_sock_read_multibulk_reply_loop(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, int numElems TSRMLS_DC);
21-
PHPAPI int redis_sock_read_multibulk_reply_zipped(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab TSRMLS_DC);
22-
PHPAPI int redis_sock_read_multibulk_reply_zipped_strings(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab TSRMLS_DC);
19+
PHPAPI int redis_sock_read_multibulk_reply(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *_z_tab);
20+
PHPAPI int redis_sock_read_multibulk_reply_loop(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, int numElems);
21+
PHPAPI int redis_sock_read_multibulk_reply_zipped(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab);
22+
PHPAPI int redis_sock_read_multibulk_reply_zipped_strings(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab);
2323
PHPAPI int redis_sock_write(RedisSock *redis_sock, char *cmd, size_t sz);
2424
PHPAPI void redis_check_eof(RedisSock *redis_sock TSRMLS_DC);
2525
//PHPAPI int redis_sock_get(zval *id, RedisSock **redis_sock TSRMLS_DC);

php_redis.h

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -136,18 +136,18 @@ PHP_RINIT_FUNCTION(redis);
136136
PHP_RSHUTDOWN_FUNCTION(redis);
137137
PHP_MINFO_FUNCTION(redis);
138138

139-
PHPAPI void redis_atomic_increment(INTERNAL_FUNCTION_PARAMETERS, char *keyword TSRMLS_DC);
139+
PHPAPI void redis_atomic_increment(INTERNAL_FUNCTION_PARAMETERS, char *keyword);
140140
PHPAPI int generic_multiple_args_cmd(INTERNAL_FUNCTION_PARAMETERS, char *keyword, int keyword_len,
141-
int min_argc, RedisSock **redis_sock TSRMLS_DC);
142-
PHPAPI void generic_sort_cmd(INTERNAL_FUNCTION_PARAMETERS, char *sort, int use_alpha TSRMLS_DC);
143-
PHPAPI void generic_empty_cmd(INTERNAL_FUNCTION_PARAMETERS, char *cmd, int cmd_len TSRMLS_DC, ...);
144-
PHPAPI void generic_empty_long_cmd(INTERNAL_FUNCTION_PARAMETERS, char *cmd, int cmd_len TSRMLS_DC, ...);
141+
int min_argc, RedisSock **redis_sock);
142+
PHPAPI void generic_sort_cmd(INTERNAL_FUNCTION_PARAMETERS, char *sort, int use_alpha);
143+
PHPAPI void generic_empty_cmd(INTERNAL_FUNCTION_PARAMETERS, char *cmd, int cmd_len, ...);
144+
PHPAPI void generic_empty_long_cmd(INTERNAL_FUNCTION_PARAMETERS, char *cmd, int cmd_len, ...);
145145

146146
PHPAPI void array_zip_values_and_scores(zval *z_tab, int use_atof TSRMLS_DC);
147147
PHPAPI int redis_response_enqueued(RedisSock *redis_sock TSRMLS_DC);
148148

149-
PHPAPI int get_flag(zval *object);
150-
PHPAPI void set_flag(zval *object, int new_flag);
149+
PHPAPI int get_flag(zval *object TSRMLS_DC);
150+
PHPAPI void set_flag(zval *object, int new_flag TSRMLS_DC);
151151

152152
/* MULTI/EXEC */
153153
PHPAPI fold_item* get_multi_head(zval *object);

0 commit comments

Comments
 (0)