Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/phpredis/phpredis.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'redis_session.c')
-rw-r--r--redis_session.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/redis_session.c b/redis_session.c
index 591f07b8..a6b15b59 100644
--- a/redis_session.c
+++ b/redis_session.c
@@ -70,12 +70,12 @@ typedef struct {
} redis_pool;
-PHPAPI redis_pool*
+PHP_REDIS_API redis_pool*
redis_pool_new(TSRMLS_D) {
return ecalloc(1, sizeof(redis_pool));
}
-PHPAPI void
+PHP_REDIS_API void
redis_pool_add(redis_pool *pool, RedisSock *redis_sock, int weight,
int database, char *prefix, char *auth TSRMLS_DC) {
@@ -96,7 +96,7 @@ redis_pool_add(redis_pool *pool, RedisSock *redis_sock, int weight,
pool->totalWeight += weight;
}
-PHPAPI void
+PHP_REDIS_API void
redis_pool_free(redis_pool *pool TSRMLS_DC) {
redis_pool_member *rpm, *next;
@@ -148,15 +148,14 @@ redis_pool_member_select(redis_pool_member *rpm TSRMLS_DC) {
efree(cmd);
}
-PHPAPI redis_pool_member *
+PHP_REDIS_API redis_pool_member *
redis_pool_get_sock(redis_pool *pool, const char *key TSRMLS_DC) {
-
+ redis_pool_member *rpm = pool->head;
unsigned int pos, i;
+
memcpy(&pos, key, sizeof(pos));
pos %= pool->totalWeight;
- redis_pool_member *rpm = pool->head;
-
for(i = 0; i < pool->totalWeight;) {
if(pos >= i && pos < i + rpm->weight) {
int needs_auth = 0;
@@ -208,6 +207,7 @@ PS_OPEN_FUNC(redis)
int database = -1;
char *prefix = NULL, *auth = NULL, *persistent_id = NULL;
long retry_interval = 0;
+ RedisSock *redis_sock;
/* translate unix: into file: */
if (!strncmp(save_path+i, "unix:", sizeof("unix:")-1)) {
@@ -276,7 +276,6 @@ PS_OPEN_FUNC(redis)
return FAILURE;
}
- RedisSock *redis_sock;
if(url->host) {
redis_sock = redis_sock_create(url->host, strlen(url->host), url->port, timeout, persistent, persistent_id, retry_interval, 0);
} else { /* unix */