diff options
| author | Remi Collet <remi@php.net> | 2014-11-14 17:32:46 +0100 |
|---|---|---|
| committer | Remi Collet <remi@php.net> | 2014-11-14 17:32:46 +0100 |
| commit | d66640a33400a96ae06df4d4381b7df0b6b470bb (patch) | |
| tree | b7c5c8f71863edddfe4e492d820dc56dd405b5ce | |
| parent | 063a06b8e569b1256f94b62154f17b234201a86f (diff) | |
| parent | 23db11976889c3600cf7853fe0fd687a1c9435e6 (diff) | |
| download | php-git-d66640a33400a96ae06df4d4381b7df0b6b470bb.tar.gz | |
Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
Fix bug #68423i PHP-FPM will no longer load all pools
| -rw-r--r-- | sapi/fpm/fpm/fpm_sockets.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/sapi/fpm/fpm/fpm_sockets.c b/sapi/fpm/fpm/fpm_sockets.c index da14d63d8c..3e4f09c50f 100644 --- a/sapi/fpm/fpm/fpm_sockets.c +++ b/sapi/fpm/fpm/fpm_sockets.c @@ -85,13 +85,24 @@ static void *fpm_get_in_addr(struct sockaddr *sa) /* {{{ */ } /* }}} */ +static int fpm_get_in_port(struct sockaddr *sa) /* {{{ */ +{ + if (sa->sa_family == AF_INET) { + return ntohs(((struct sockaddr_in*)sa)->sin_port); + } + + return ntohs(((struct sockaddr_in6*)sa)->sin6_port); +} +/* }}} */ + static int fpm_sockets_hash_op(int sock, struct sockaddr *sa, char *key, int type, int op) /* {{{ */ { if (key == NULL) { switch (type) { case FPM_AF_INET : { - key = alloca(INET6_ADDRSTRLEN); - inet_ntop(sa->sa_family, fpm_get_in_addr(sa), key, sizeof key); + key = alloca(INET6_ADDRSTRLEN+10); + inet_ntop(sa->sa_family, fpm_get_in_addr(sa), key, INET6_ADDRSTRLEN); + sprintf(key+strlen(key), ":%d", fpm_get_in_port(sa)); break; } @@ -246,7 +257,7 @@ static int fpm_socket_af_inet_listening_socket(struct fpm_worker_pool_s *wp) /* char *addr = NULL; int addr_len; int port = 0; - int sock; + int sock = -1; int status; if (port_str) { /* this is host:port pair */ |
