diff options
author | michael-grunder <michael.grunder@gmail.com> | 2013-08-11 19:54:59 +0400 |
---|---|---|
committer | michael-grunder <michael.grunder@gmail.com> | 2013-08-11 19:54:59 +0400 |
commit | dcbeae7599ccc1fe0310d67ba29629c3774084d5 (patch) | |
tree | 444a61ff03fcce99de974dfb2dfa045884cea65e /redis_array.c | |
parent | 2099f1904ad7b1b07375bb942bfb0dc19aae19bc (diff) |
Persistent connections with RedisArray
Re-integrating the now old ra-performance branch into a git-flow
branch. I could have merged it but this was easier with so few
changes
Diffstat (limited to 'redis_array.c')
-rw-r--r-- | redis_array.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/redis_array.c b/redis_array.c index 31f77278..81f8f642 100644 --- a/redis_array.c +++ b/redis_array.c @@ -194,7 +194,7 @@ PHP_METHOD(RedisArray, __construct) zval *z0, *z_fun = NULL, *z_dist = NULL, **zpData, *z_opts = NULL; int id; RedisArray *ra = NULL; - zend_bool b_index = 0, b_autorehash = 0; + zend_bool b_index = 0, b_autorehash = 0, b_pconnect = 0; HashTable *hPrev = NULL, *hOpts = NULL; long l_retry_interval = 0; @@ -238,9 +238,14 @@ PHP_METHOD(RedisArray, __construct) b_autorehash = Z_BVAL_PP(zpData); } + /* pconnect */ + if(FAILURE != zend_hash_find(hOpts, "pconnect", sizeof("pconnect"), (void**)&zpData) && Z_TYPE_PP(zpData) == IS_BOOL) { + b_pconnect = Z_BVAL_PP(zpData); + } + /* extract retry_interval option. */ - zval **z_retry_interval_pp; - if (FAILURE != zend_hash_find(hOpts, "retry_interval", sizeof("retry_interval"), (void**)&z_retry_interval_pp)) { + zval **z_retry_interval_pp; + if (FAILURE != zend_hash_find(hOpts, "retry_interval", sizeof("retry_interval"), (void**)&z_retry_interval_pp)) { if (Z_TYPE_PP(z_retry_interval_pp) == IS_LONG || Z_TYPE_PP(z_retry_interval_pp) == IS_STRING) { if (Z_TYPE_PP(z_retry_interval_pp) == IS_LONG) { l_retry_interval = Z_LVAL_PP(z_retry_interval_pp); @@ -259,7 +264,7 @@ PHP_METHOD(RedisArray, __construct) break; case IS_ARRAY: - ra = ra_make_array(Z_ARRVAL_P(z0), z_fun, z_dist, hPrev, b_index, l_retry_interval TSRMLS_CC); + ra = ra_make_array(Z_ARRVAL_P(z0), z_fun, z_dist, hPrev, b_index, l_retry_interval, b_pconnect TSRMLS_CC); break; default: |