diff options
author | David Klempner <klempner@google.com> | 2016-05-13 15:21:57 -0700 |
---|---|---|
committer | David Klempner <klempner@google.com> | 2016-05-13 15:21:57 -0700 |
commit | c7614cf2779c4909d8ec3f64923242cfd02f157a (patch) | |
tree | d241faf78a984d88843346a1a9c94e3a4365bbc7 /test/core | |
parent | 2ecb08f5a76f97443deae01befdfee679a5c9b6d (diff) |
Fix declarations in port.h to not be ambiguous in C due to K&R.
Also actually add the port parameter to grpc_recycle_unused_port.
Also remove the downsizing gpr_realloc in the recycle codepath, which is
unnecessary and can free the pointer.
Diffstat (limited to 'test/core')
-rw-r--r-- | test/core/util/port.h | 6 | ||||
-rw-r--r-- | test/core/util/port_posix.c | 25 | ||||
-rw-r--r-- | test/core/util/port_windows.c | 1 |
3 files changed, 15 insertions, 17 deletions
diff --git a/test/core/util/port.h b/test/core/util/port.h index 4b70fdc978..faeabbae9b 100644 --- a/test/core/util/port.h +++ b/test/core/util/port.h @@ -40,16 +40,16 @@ extern "C" { /* pick a port number that is currently unused by either tcp or udp. return 0 on failure. */ -int grpc_pick_unused_port(); +int grpc_pick_unused_port(void); /* pick a port number that is currently unused by either tcp or udp. abort on failure. */ -int grpc_pick_unused_port_or_die(); +int grpc_pick_unused_port_or_die(void); /* Return a port which was previously returned by grpc_pick_unused_port(). * Implementations of grpc_pick_unused_port() backed by a portserver may limit * the total number of ports available; this lets a binary return its allocated * ports back to the server if it is going to allocate a large number. */ -void grpc_recycle_unused_port(); +void grpc_recycle_unused_port(int port); #ifdef __cplusplus } diff --git a/test/core/util/port_posix.c b/test/core/util/port_posix.c index 32b1849ec4..7e270ff975 100644 --- a/test/core/util/port_posix.c +++ b/test/core/util/port_posix.c @@ -73,21 +73,20 @@ static int free_chosen_port(int port) { int found = 0; size_t found_at = 0; char *env = gpr_getenv("GRPC_TEST_PORT_SERVER"); - if (env != NULL) { - /* Find the port and erase it from the list, then tell the server it can be - freed. */ - for (i = 0; i < num_chosen_ports; i++) { - if (chosen_ports[i] == port) { - GPR_ASSERT(found == 0); - found = 1; - found_at = i; - } + /* Find the port and erase it from the list, then tell the server it can be + freed. */ + for (i = 0; i < num_chosen_ports; i++) { + if (chosen_ports[i] == port) { + GPR_ASSERT(found == 0); + found = 1; + found_at = i; } - if (found) { - chosen_ports[found_at] = chosen_ports[num_chosen_ports - 1]; + } + if (found) { + chosen_ports[found_at] = chosen_ports[num_chosen_ports - 1]; + num_chosen_ports--; + if (env) { grpc_free_port_using_server(env, port); - num_chosen_ports--; - chosen_ports = gpr_realloc(chosen_ports, sizeof(int) * num_chosen_ports); } } return found; diff --git a/test/core/util/port_windows.c b/test/core/util/port_windows.c index 29f3404b2a..36c8d2856c 100644 --- a/test/core/util/port_windows.c +++ b/test/core/util/port_windows.c @@ -90,7 +90,6 @@ static int free_chosen_port(int port) { chosen_ports[found_at] = chosen_ports[num_chosen_ports - 1]; grpc_free_port_using_server(env, port); num_chosen_ports--; - chosen_ports = gpr_realloc(chosen_ports, sizeof(int) * num_chosen_ports); } } return found; |