diff options
author | michael-grunder <michael.grunder@gmail.com> | 2013-08-11 20:05:37 +0400 |
---|---|---|
committer | michael-grunder <michael.grunder@gmail.com> | 2013-08-11 20:05:37 +0400 |
commit | ee571eabdfb5fa68c313c96173c926f94aab5118 (patch) | |
tree | c6d08a40dc74055e3a4396c9e5b112b41556d29b /redis_array.c | |
parent | 2099f1904ad7b1b07375bb942bfb0dc19aae19bc (diff) | |
parent | 16185f2e37d48a8e619e2c6c9c07da9630155e82 (diff) |
Merge branch 'feature/ra-performance' into develop
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: |