61
61
/* Check if a response is the Redis +OK status response */
62
62
#define IS_REDIS_OK (r , len ) (r != NULL && len == 3 && !memcmp(r, "+OK", 3))
63
63
64
- #if (PHP_MAJOR_VERSION < 7 )
65
64
ps_module ps_mod_redis = {
65
+ #if (PHP_MAJOR_VERSION < 7 )
66
66
PS_MOD_SID (redis )
67
- };
68
67
#else
69
- ps_module ps_mod_redis = {
70
68
PS_MOD_UPDATE_TIMESTAMP (redis )
71
- };
72
69
#endif
70
+ };
73
71
74
72
ps_module ps_mod_redis_cluster = {
75
73
PS_MOD (rediscluster )
@@ -650,13 +648,9 @@ PS_VALIDATE_SID_FUNC(redis)
650
648
{
651
649
char * cmd , * response ;
652
650
int cmd_len , response_len ;
653
- #if (PHP_MAJOR_VERSION < 7 )
654
- const char * skey = key ;
655
- size_t skeylen = strlen (key );
656
- #else
651
+
657
652
const char * skey = ZSTR_VAL (key );
658
653
size_t skeylen = ZSTR_LEN (key );
659
- #endif
660
654
661
655
if (!skeylen ) return FAILURE ;
662
656
@@ -691,27 +685,25 @@ PS_VALIDATE_SID_FUNC(redis)
691
685
}
692
686
}
693
687
/* }}} */
688
+ #endif
694
689
690
+ #if (PHP_MAJOR_VERSION >= 7 )
695
691
/* {{{ PS_UPDATE_TIMESTAMP_FUNC
696
692
*/
697
693
PS_UPDATE_TIMESTAMP_FUNC (redis )
698
694
{
699
695
char * cmd , * response ;
700
696
int cmd_len , response_len ;
701
- #if (PHP_MAJOR_VERSION < 7 )
702
- const char * skey = key , * sval = val ;
703
- size_t skeylen = strlen (key ), svallen = vallen ;
704
- #else
697
+
705
698
const char * skey = ZSTR_VAL (key ), * sval = ZSTR_VAL (val );
706
699
size_t skeylen = ZSTR_LEN (key ), svallen = ZSTR_LEN (val );
707
- #endif
708
700
709
701
if (!skeylen ) return FAILURE ;
710
702
711
703
redis_pool * pool = PS_GET_MOD_DATA ();
712
704
redis_pool_member * rpm = redis_pool_get_sock (pool , skey TSRMLS_CC );
713
705
RedisSock * redis_sock = rpm ? rpm -> redis_sock : NULL ;
714
- if (!redis_sock ) {
706
+ if (!redis_sock || ! write_allowed ( redis_sock , & pool -> lock_status TSRMLS_CC ) ) {
715
707
return FAILURE ;
716
708
}
717
709
@@ -720,7 +712,7 @@ PS_UPDATE_TIMESTAMP_FUNC(redis)
720
712
cmd_len = REDIS_SPPRINTF (& cmd , "EXPIRE" , "Sd" , session , INI_INT ("session.gc_maxlifetime" ));
721
713
zend_string_release (session );
722
714
723
- if (! write_allowed ( redis_sock , & pool -> lock_status TSRMLS_CC ) || redis_sock_write (redis_sock , cmd , cmd_len TSRMLS_CC ) < 0 ) {
715
+ if (redis_sock_write (redis_sock , cmd , cmd_len TSRMLS_CC ) < 0 ) {
724
716
efree (cmd );
725
717
return FAILURE ;
726
718
}
0 commit comments