diff options
author | Tim Emiola <tbetbetbe@users.noreply.github.com> | 2015-01-21 16:04:00 -0800 |
---|---|---|
committer | Tim Emiola <tbetbetbe@users.noreply.github.com> | 2015-01-21 16:04:00 -0800 |
commit | 2021d031687418fe4fe09d2e2efcdc4b3e833ffc (patch) | |
tree | fe14afcc54bbf77862203d950019f527abd22d35 /src/core/security | |
parent | 85eea08ba8109dc9bd2b798146a5140342505f77 (diff) | |
parent | f034e50ba9847250388c0608cd217dbd1dbc76db (diff) |
Merge pull request #149 from murgatroid99/node_bind_port_zero
Bind servers to port 0 in node tests
Diffstat (limited to 'src/core/security')
-rw-r--r-- | src/core/security/server_secure_chttp2.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/core/security/server_secure_chttp2.c b/src/core/security/server_secure_chttp2.c index 931fa95651..9dd4327822 100644 --- a/src/core/security/server_secure_chttp2.c +++ b/src/core/security/server_secure_chttp2.c @@ -93,6 +93,8 @@ int grpc_server_add_secure_http2_port(grpc_server *server, const char *addr) { grpc_tcp_server *tcp = NULL; size_t i; int count = 0; + int port_num = -1; + int port_temp; resolved = grpc_blocking_resolve_address(addr, "https"); if (!resolved) { @@ -105,9 +107,15 @@ int grpc_server_add_secure_http2_port(grpc_server *server, const char *addr) { } for (i = 0; i < resolved->naddrs; i++) { - if (grpc_tcp_server_add_port(tcp, - (struct sockaddr *)&resolved->addrs[i].addr, - resolved->addrs[i].len)) { + port_temp = grpc_tcp_server_add_port( + tcp, (struct sockaddr *)&resolved->addrs[i].addr, + resolved->addrs[i].len); + if (port_temp >= 0) { + if (port_num == -1) { + port_num = port_temp; + } else { + GPR_ASSERT(port_num == port_temp); + } count++; } } @@ -125,7 +133,7 @@ int grpc_server_add_secure_http2_port(grpc_server *server, const char *addr) { /* Register with the server only upon success */ grpc_server_add_listener(server, tcp, start, destroy); - return 1; + return port_num; /* Error path: cleanup and return */ error: |