Clean up code after merge with master

reviewable/pr8125/r4
murgatroid99 8 years ago
parent fde76d7996
commit aa9c578b07
  1. 2
      build.yaml
  2. 3
      src/core/lib/iomgr/endpoint_pair_uv.c
  3. 9
      src/core/lib/iomgr/pollset_uv.c
  4. 5
      src/core/lib/iomgr/pollset_uv.h
  5. 4
      src/core/lib/iomgr/tcp_client_uv.c
  6. 1
      src/core/lib/iomgr/tcp_server_uv.c
  7. 4
      src/core/lib/iomgr/tcp_uv.c
  8. 88
      src/core/lib/iomgr/udp_server.c
  9. 5
      src/core/lib/iomgr/udp_server.h
  10. 5
      test/core/end2end/cq_verifier_native.c
  11. 11
      test/core/end2end/cq_verifier_uv.c
  12. 4
      test/core/end2end/dualstack_socket_test.c
  13. 5
      test/core/end2end/fake_resolver.c
  14. 4
      test/core/end2end/fixtures/h2_fd.c
  15. 4
      test/core/end2end/fixtures/h2_full+pipe.c
  16. 6
      test/core/end2end/fixtures/h2_full+trace.c
  17. 6
      test/core/end2end/fixtures/h2_sockpair+trace.c
  18. 4
      test/core/iomgr/fd_posix_test.c
  19. 4
      test/core/iomgr/socket_utils_test.c
  20. 4
      test/core/iomgr/tcp_posix_test.c
  21. 4
      test/core/iomgr/tcp_server_posix_test.c
  22. 4
      test/core/iomgr/timer_heap_test.c
  23. 50
      test/core/iomgr/udp_server_test.c
  24. 4
      test/core/util/port_uv.c
  25. 11
      tools/run_tests/tests.json

@ -2626,6 +2626,8 @@ targets:
- grpc - grpc
- gpr_test_util - gpr_test_util
- gpr - gpr
exclude_iomgrs:
- uv
platforms: platforms:
- mac - mac
- linux - linux

@ -45,7 +45,8 @@ grpc_endpoint_pair grpc_iomgr_create_endpoint_pair(const char *name,
size_t read_slice_size) { size_t read_slice_size) {
grpc_endpoint_pair endpoint_pair; grpc_endpoint_pair endpoint_pair;
// TODO(mlumish): implement this properly under libuv // TODO(mlumish): implement this properly under libuv
GPR_ASSERT(false && "grpc_iomgr_create_endpoint_pair is not suppoted with libuv"); GPR_ASSERT(false &&
"grpc_iomgr_create_endpoint_pair is not suppoted with libuv");
return endpoint_pair; return endpoint_pair;
} }

@ -73,9 +73,7 @@ void grpc_pollset_init(grpc_pollset *pollset, gpr_mu **mu) {
pollset->shutting_down = 0; pollset->shutting_down = 0;
} }
static void timer_close_cb(uv_handle_t *handle) { static void timer_close_cb(uv_handle_t *handle) { handle->data = (void *)1; }
handle->data = (void *)1;
}
void grpc_pollset_shutdown(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, void grpc_pollset_shutdown(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset,
grpc_closure *closure) { grpc_closure *closure) {
@ -89,7 +87,7 @@ void grpc_pollset_shutdown(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset,
} }
void grpc_pollset_destroy(grpc_pollset *pollset) { void grpc_pollset_destroy(grpc_pollset *pollset) {
uv_close((uv_handle_t*)&pollset->timer, timer_close_cb); uv_close((uv_handle_t *)&pollset->timer, timer_close_cb);
// timer.data is a boolean indicating that the timer has finished closing // timer.data is a boolean indicating that the timer has finished closing
pollset->timer.data = (void *)0; pollset->timer.data = (void *)0;
if (grpc_pollset_work_run_loop) { if (grpc_pollset_work_run_loop) {
@ -104,8 +102,7 @@ void grpc_pollset_reset(grpc_pollset *pollset) {
pollset->shutting_down = 0; pollset->shutting_down = 0;
} }
static void timer_run_cb(uv_timer_t *timer) { static void timer_run_cb(uv_timer_t *timer) {}
}
grpc_error *grpc_pollset_work(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, grpc_error *grpc_pollset_work(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset,
grpc_pollset_worker **worker_hdl, grpc_pollset_worker **worker_hdl,

@ -31,7 +31,12 @@
* *
*/ */
#ifndef GRPC_CORE_LIB_IOMGR_POLLSET_UV_H
#define GRPC_CORE_LIB_IOMGR_POLLSET_UV_H
extern int grpc_pollset_work_run_loop; extern int grpc_pollset_work_run_loop;
void grpc_pollset_global_init(void); void grpc_pollset_global_init(void);
void grpc_pollset_global_shutdown(void); void grpc_pollset_global_shutdown(void);
#endif /* GRPC_CORE_LIB_IOMGR_POLLSET_UV_H */

@ -60,9 +60,7 @@ static void uv_tcp_connect_cleanup(grpc_uv_tcp_connect *connect) {
gpr_free(connect); gpr_free(connect);
} }
static void tcp_close_callback(uv_handle_t *handle) { static void tcp_close_callback(uv_handle_t *handle) { gpr_free(handle); }
gpr_free(handle);
}
static void uv_tc_on_alarm(grpc_exec_ctx *exec_ctx, void *acp, static void uv_tc_on_alarm(grpc_exec_ctx *exec_ctx, void *acp,
grpc_error *error) { grpc_error *error) {

@ -178,7 +178,6 @@ static void on_connect(uv_stream_t *server, int status) {
char *peer_name_string; char *peer_name_string;
int err; int err;
if (status < 0) { if (status < 0) {
gpr_log(GPR_INFO, "Skipping on_accept due to error: %s", gpr_log(GPR_INFO, "Skipping on_accept due to error: %s",
uv_strerror(status)); uv_strerror(status));

@ -69,9 +69,7 @@ typedef struct {
grpc_pollset *pollset; grpc_pollset *pollset;
} grpc_tcp; } grpc_tcp;
static void uv_close_callback(uv_handle_t *handle) { static void uv_close_callback(uv_handle_t *handle) { gpr_free(handle); }
gpr_free(handle);
}
static void tcp_free(grpc_tcp *tcp) { gpr_free(tcp); } static void tcp_free(grpc_tcp *tcp) { gpr_free(tcp); }

@ -38,7 +38,7 @@
#include "src/core/lib/iomgr/port.h" #include "src/core/lib/iomgr/port.h"
#ifdef GPR_POSIX_SOCKET #ifdef GRPC_POSIX_SOCKET
#include "src/core/lib/iomgr/udp_server.h" #include "src/core/lib/iomgr/udp_server.h"
@ -62,6 +62,7 @@
#include "src/core/lib/iomgr/error.h" #include "src/core/lib/iomgr/error.h"
#include "src/core/lib/iomgr/ev_posix.h" #include "src/core/lib/iomgr/ev_posix.h"
#include "src/core/lib/iomgr/resolve_address.h" #include "src/core/lib/iomgr/resolve_address.h"
#include "src/core/lib/iomgr/sockaddr.h"
#include "src/core/lib/iomgr/sockaddr_utils.h" #include "src/core/lib/iomgr/sockaddr_utils.h"
#include "src/core/lib/iomgr/socket_utils_posix.h" #include "src/core/lib/iomgr/socket_utils_posix.h"
#include "src/core/lib/support/string.h" #include "src/core/lib/support/string.h"
@ -73,11 +74,7 @@ typedef struct {
int fd; int fd;
grpc_fd *emfd; grpc_fd *emfd;
grpc_udp_server *server; grpc_udp_server *server;
union { grpc_resolved_address addr;
uint8_t untyped[GRPC_MAX_SOCKADDR_SIZE];
struct sockaddr sockaddr;
} addr;
size_t addr_len;
grpc_closure read_closure; grpc_closure read_closure;
grpc_closure destroyed_closure; grpc_closure destroyed_closure;
grpc_udp_server_read_cb read_cb; grpc_udp_server_read_cb read_cb;
@ -214,10 +211,9 @@ void grpc_udp_server_destroy(grpc_exec_ctx *exec_ctx, grpc_udp_server *s,
} }
/* Prepare a recently-created socket for listening. */ /* Prepare a recently-created socket for listening. */
static int prepare_socket(int fd, const struct sockaddr *addr, static int prepare_socket(int fd, const grpc_resolved_address *addr) {
size_t addr_len) { grpc_resolved_address sockname_temp;
struct sockaddr_storage sockname_temp; struct sockaddr *addr_ptr = (struct sockaddr *)addr->addr;
socklen_t sockname_len;
/* Set send/receive socket buffers to 1 MB */ /* Set send/receive socket buffers to 1 MB */
int buffer_size_bytes = 1024 * 1024; int buffer_size_bytes = 1024 * 1024;
@ -237,15 +233,15 @@ static int prepare_socket(int fd, const struct sockaddr *addr,
if (grpc_set_socket_ip_pktinfo_if_possible(fd) != GRPC_ERROR_NONE) { if (grpc_set_socket_ip_pktinfo_if_possible(fd) != GRPC_ERROR_NONE) {
gpr_log(GPR_ERROR, "Unable to set ip_pktinfo."); gpr_log(GPR_ERROR, "Unable to set ip_pktinfo.");
goto error; goto error;
} else if (addr->sa_family == AF_INET6) { } else if (addr_ptr->sa_family == AF_INET6) {
if (grpc_set_socket_ipv6_recvpktinfo_if_possible(fd) != GRPC_ERROR_NONE) { if (grpc_set_socket_ipv6_recvpktinfo_if_possible(fd) != GRPC_ERROR_NONE) {
gpr_log(GPR_ERROR, "Unable to set ipv6_recvpktinfo."); gpr_log(GPR_ERROR, "Unable to set ipv6_recvpktinfo.");
goto error; goto error;
} }
} }
GPR_ASSERT(addr_len < ~(socklen_t)0); GPR_ASSERT(addr->len < ~(socklen_t)0);
if (bind(fd, addr, (socklen_t)addr_len) < 0) { if (bind(fd, (struct sockaddr *)addr, (socklen_t)addr->len) < 0) {
char *addr_str; char *addr_str;
grpc_sockaddr_to_string(&addr_str, addr, 0); grpc_sockaddr_to_string(&addr_str, addr, 0);
gpr_log(GPR_ERROR, "bind addr=%s: %s", addr_str, strerror(errno)); gpr_log(GPR_ERROR, "bind addr=%s: %s", addr_str, strerror(errno));
@ -253,8 +249,10 @@ static int prepare_socket(int fd, const struct sockaddr *addr,
goto error; goto error;
} }
sockname_len = sizeof(sockname_temp); sockname_temp.len = sizeof(struct sockaddr_storage);
if (getsockname(fd, (struct sockaddr *)&sockname_temp, &sockname_len) < 0) {
if (getsockname(fd, (struct sockaddr *)sockname_temp.addr,
(socklen_t *)&sockname_temp.len) < 0) {
goto error; goto error;
} }
@ -270,7 +268,7 @@ static int prepare_socket(int fd, const struct sockaddr *addr,
goto error; goto error;
} }
return grpc_sockaddr_get_port((struct sockaddr *)&sockname_temp); return grpc_sockaddr_get_port(&sockname_temp);
error: error:
if (fd >= 0) { if (fd >= 0) {
@ -303,7 +301,7 @@ static void on_read(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) {
} }
static int add_socket_to_server(grpc_udp_server *s, int fd, static int add_socket_to_server(grpc_udp_server *s, int fd,
const struct sockaddr *addr, size_t addr_len, const grpc_resolved_address *addr,
grpc_udp_server_read_cb read_cb, grpc_udp_server_read_cb read_cb,
grpc_udp_server_orphan_cb orphan_cb) { grpc_udp_server_orphan_cb orphan_cb) {
server_port *sp; server_port *sp;
@ -311,9 +309,9 @@ static int add_socket_to_server(grpc_udp_server *s, int fd,
char *addr_str; char *addr_str;
char *name; char *name;
port = prepare_socket(fd, addr, addr_len); port = prepare_socket(fd, addr);
if (port >= 0) { if (port >= 0) {
grpc_sockaddr_to_string(&addr_str, (struct sockaddr *)&addr, 1); grpc_sockaddr_to_string(&addr_str, addr, 1);
gpr_asprintf(&name, "udp-server-listener:%s", addr_str); gpr_asprintf(&name, "udp-server-listener:%s", addr_str);
gpr_free(addr_str); gpr_free(addr_str);
gpr_mu_lock(&s->mu); gpr_mu_lock(&s->mu);
@ -326,8 +324,7 @@ static int add_socket_to_server(grpc_udp_server *s, int fd,
sp->server = s; sp->server = s;
sp->fd = fd; sp->fd = fd;
sp->emfd = grpc_fd_create(fd, name); sp->emfd = grpc_fd_create(fd, name);
memcpy(sp->addr.untyped, addr, addr_len); memcpy(&sp->addr, addr, sizeof(grpc_resolved_address));
sp->addr_len = addr_len;
sp->read_cb = read_cb; sp->read_cb = read_cb;
sp->orphan_cb = orphan_cb; sp->orphan_cb = orphan_cb;
GPR_ASSERT(sp->emfd); GPR_ASSERT(sp->emfd);
@ -338,34 +335,34 @@ static int add_socket_to_server(grpc_udp_server *s, int fd,
return port; return port;
} }
int grpc_udp_server_add_port(grpc_udp_server *s, const void *addr, int grpc_udp_server_add_port(grpc_udp_server *s,
size_t addr_len, grpc_udp_server_read_cb read_cb, const grpc_resolved_address *addr,
grpc_udp_server_read_cb read_cb,
grpc_udp_server_orphan_cb orphan_cb) { grpc_udp_server_orphan_cb orphan_cb) {
int allocated_port1 = -1; int allocated_port1 = -1;
int allocated_port2 = -1; int allocated_port2 = -1;
unsigned i; unsigned i;
int fd; int fd;
grpc_dualstack_mode dsmode; grpc_dualstack_mode dsmode;
struct sockaddr_in6 addr6_v4mapped; grpc_resolved_address addr6_v4mapped;
struct sockaddr_in wild4; grpc_resolved_address wild4;
struct sockaddr_in6 wild6; grpc_resolved_address wild6;
struct sockaddr_in addr4_copy; grpc_resolved_address addr4_copy;
struct sockaddr *allocated_addr = NULL; grpc_resolved_address *allocated_addr = NULL;
struct sockaddr_storage sockname_temp; grpc_resolved_address sockname_temp;
socklen_t sockname_len;
int port; int port;
/* Check if this is a wildcard port, and if so, try to keep the port the same /* Check if this is a wildcard port, and if so, try to keep the port the same
as some previously created listener. */ as some previously created listener. */
if (grpc_sockaddr_get_port(addr) == 0) { if (grpc_sockaddr_get_port(addr) == 0) {
for (i = 0; i < s->nports; i++) { for (i = 0; i < s->nports; i++) {
sockname_len = sizeof(sockname_temp); sockname_temp.len = sizeof(struct sockaddr_storage);
if (0 == getsockname(s->ports[i].fd, (struct sockaddr *)&sockname_temp, if (0 == getsockname(s->ports[i].fd, (struct sockaddr *)sockname_temp.addr,
&sockname_len)) { (socklen_t *)&sockname_temp.len)) {
port = grpc_sockaddr_get_port((struct sockaddr *)&sockname_temp); port = grpc_sockaddr_get_port(&sockname_temp);
if (port > 0) { if (port > 0) {
allocated_addr = gpr_malloc(addr_len); allocated_addr = gpr_malloc(sizeof(grpc_resolved_address));
memcpy(allocated_addr, addr, addr_len); memcpy(allocated_addr, addr, sizeof(grpc_resolved_address));
grpc_sockaddr_set_port(allocated_addr, port); grpc_sockaddr_set_port(allocated_addr, port);
addr = allocated_addr; addr = allocated_addr;
break; break;
@ -375,8 +372,7 @@ int grpc_udp_server_add_port(grpc_udp_server *s, const void *addr,
} }
if (grpc_sockaddr_to_v4mapped(addr, &addr6_v4mapped)) { if (grpc_sockaddr_to_v4mapped(addr, &addr6_v4mapped)) {
addr = (const struct sockaddr *)&addr6_v4mapped; addr = &addr6_v4mapped;
addr_len = sizeof(addr6_v4mapped);
} }
/* Treat :: or 0.0.0.0 as a family-agnostic wildcard. */ /* Treat :: or 0.0.0.0 as a family-agnostic wildcard. */
@ -384,22 +380,20 @@ int grpc_udp_server_add_port(grpc_udp_server *s, const void *addr,
grpc_sockaddr_make_wildcards(port, &wild4, &wild6); grpc_sockaddr_make_wildcards(port, &wild4, &wild6);
/* Try listening on IPv6 first. */ /* Try listening on IPv6 first. */
addr = (struct sockaddr *)&wild6; addr = &wild6;
addr_len = sizeof(wild6);
// TODO(rjshade): Test and propagate the returned grpc_error*: // TODO(rjshade): Test and propagate the returned grpc_error*:
grpc_create_dualstack_socket(addr, SOCK_DGRAM, IPPROTO_UDP, &dsmode, &fd); grpc_create_dualstack_socket(addr, SOCK_DGRAM, IPPROTO_UDP, &dsmode, &fd);
allocated_port1 = allocated_port1 =
add_socket_to_server(s, fd, addr, addr_len, read_cb, orphan_cb); add_socket_to_server(s, fd, addr, read_cb, orphan_cb);
if (fd >= 0 && dsmode == GRPC_DSMODE_DUALSTACK) { if (fd >= 0 && dsmode == GRPC_DSMODE_DUALSTACK) {
goto done; goto done;
} }
/* If we didn't get a dualstack socket, also listen on 0.0.0.0. */ /* If we didn't get a dualstack socket, also listen on 0.0.0.0. */
if (port == 0 && allocated_port1 > 0) { if (port == 0 && allocated_port1 > 0) {
grpc_sockaddr_set_port((struct sockaddr *)&wild4, allocated_port1); grpc_sockaddr_set_port(&wild4, allocated_port1);
} }
addr = (struct sockaddr *)&wild4; addr = &wild4;
addr_len = sizeof(wild4);
} }
// TODO(rjshade): Test and propagate the returned grpc_error*: // TODO(rjshade): Test and propagate the returned grpc_error*:
@ -409,11 +403,9 @@ int grpc_udp_server_add_port(grpc_udp_server *s, const void *addr,
} }
if (dsmode == GRPC_DSMODE_IPV4 && if (dsmode == GRPC_DSMODE_IPV4 &&
grpc_sockaddr_is_v4mapped(addr, &addr4_copy)) { grpc_sockaddr_is_v4mapped(addr, &addr4_copy)) {
addr = (struct sockaddr *)&addr4_copy; addr = &addr4_copy;
addr_len = sizeof(addr4_copy);
} }
allocated_port2 = allocated_port2 = add_socket_to_server(s, fd, addr, read_cb, orphan_cb);
add_socket_to_server(s, fd, addr, addr_len, read_cb, orphan_cb);
done: done:
gpr_free(allocated_addr); gpr_free(allocated_addr);

@ -36,6 +36,7 @@
#include "src/core/lib/iomgr/endpoint.h" #include "src/core/lib/iomgr/endpoint.h"
#include "src/core/lib/iomgr/ev_posix.h" #include "src/core/lib/iomgr/ev_posix.h"
#include "src/core/lib/iomgr/resolve_address.h"
/* Forward decl of struct grpc_server */ /* Forward decl of struct grpc_server */
/* This is not typedef'ed to avoid a typedef-redefinition error */ /* This is not typedef'ed to avoid a typedef-redefinition error */
@ -71,8 +72,8 @@ int grpc_udp_server_get_fd(grpc_udp_server *s, unsigned index);
/* TODO(ctiller): deprecate this, and make grpc_udp_server_add_ports to handle /* TODO(ctiller): deprecate this, and make grpc_udp_server_add_ports to handle
all of the multiple socket port matching logic in one place */ all of the multiple socket port matching logic in one place */
int grpc_udp_server_add_port(grpc_udp_server *s, const void *addr, int grpc_udp_server_add_port(grpc_udp_server *s, const grpc_resolved_address *addr,
size_t addr_len, grpc_udp_server_read_cb read_cb, grpc_udp_server_read_cb read_cb,
grpc_udp_server_orphan_cb orphan_cb); grpc_udp_server_orphan_cb orphan_cb);
void grpc_udp_server_destroy(grpc_exec_ctx *exec_ctx, grpc_udp_server *server, void grpc_udp_server_destroy(grpc_exec_ctx *exec_ctx, grpc_udp_server *server,

@ -48,7 +48,7 @@ struct cq_verifier {
cq_verifier *cq_verifier_create(grpc_completion_queue *cq) { cq_verifier *cq_verifier_create(grpc_completion_queue *cq) {
cq_verifier *v = gpr_malloc(sizeof(cq_verifier)); cq_verifier *v = gpr_malloc(sizeof(cq_verifier));
v->cq = cq; v->cq = cq;
cq_verifier_set_first_expectation(v,NULL); cq_verifier_set_first_expectation(v, NULL);
return v; return v;
} }
@ -66,7 +66,8 @@ void cq_verifier_set_first_expectation(cq_verifier *v, expectation *e) {
} }
grpc_event cq_verifier_next_event(cq_verifier *v, int timeout_seconds) { grpc_event cq_verifier_next_event(cq_verifier *v, int timeout_seconds) {
const gpr_timespec deadline = GRPC_TIMEOUT_SECONDS_TO_DEADLINE(timeout_seconds); const gpr_timespec deadline =
GRPC_TIMEOUT_SECONDS_TO_DEADLINE(timeout_seconds);
return grpc_completion_queue_next(v->cq, deadline, NULL); return grpc_completion_queue_next(v->cq, deadline, NULL);
} }

@ -92,16 +92,19 @@ static void timer_run_cb(uv_timer_t *timer) {
} }
grpc_event cq_verifier_next_event(cq_verifier *v, int timeout_seconds) { grpc_event cq_verifier_next_event(cq_verifier *v, int timeout_seconds) {
uint64_t timeout_ms = timeout_seconds < 0 ? 0 : (uint64_t)timeout_seconds * 1000; uint64_t timeout_ms =
timeout_seconds < 0 ? 0 : (uint64_t)timeout_seconds * 1000;
grpc_event ev; grpc_event ev;
v->timer.data = (void *)TIMER_STARTED; v->timer.data = (void *)TIMER_STARTED;
uv_timer_start(&v->timer, timer_run_cb, timeout_ms, 0); uv_timer_start(&v->timer, timer_run_cb, timeout_ms, 0);
ev = grpc_completion_queue_next(v->cq, gpr_inf_past(GPR_CLOCK_MONOTONIC), NULL); ev = grpc_completion_queue_next(v->cq, gpr_inf_past(GPR_CLOCK_MONOTONIC),
NULL);
// Stop the loop if the timer goes off or we get a non-timeout event // Stop the loop if the timer goes off or we get a non-timeout event
while (((timer_state)v->timer.data != TIMER_TRIGGERED) && while (((timer_state)v->timer.data != TIMER_TRIGGERED) &&
ev.type == GRPC_QUEUE_TIMEOUT){ ev.type == GRPC_QUEUE_TIMEOUT) {
uv_run(uv_default_loop(), UV_RUN_ONCE); uv_run(uv_default_loop(), UV_RUN_ONCE);
ev = grpc_completion_queue_next(v->cq, gpr_inf_past(GPR_CLOCK_MONOTONIC), NULL); ev = grpc_completion_queue_next(v->cq, gpr_inf_past(GPR_CLOCK_MONOTONIC),
NULL);
} }
return ev; return ev;
} }

@ -361,8 +361,6 @@ int main(int argc, char **argv) {
#else /* GRPC_POSIX_SOCKET */ #else /* GRPC_POSIX_SOCKET */
int main(int argc, char **argv) { int main(int argc, char **argv) { return 1; }
return 1;
}
#endif /* GRPC_POSIX_SOCKET */ #endif /* GRPC_POSIX_SOCKET */

@ -165,10 +165,7 @@ static grpc_resolver* fake_resolver_create(grpc_resolver_factory* factory,
grpc_uri ith_uri = *args->uri; grpc_uri ith_uri = *args->uri;
char* part_str = gpr_dump_slice(path_parts.slices[i], GPR_DUMP_ASCII); char* part_str = gpr_dump_slice(path_parts.slices[i], GPR_DUMP_ASCII);
ith_uri.path = part_str; ith_uri.path = part_str;
if (!parse_ipv4( if (!parse_ipv4(&ith_uri, &addresses->addresses[i].address)) {
&ith_uri,
(struct sockaddr_storage*)(&addresses->addresses[i].address.addr),
&addresses->addresses[i].address.len)) {
errors_found = true; errors_found = true;
} }
gpr_free(part_str); gpr_free(part_str);

@ -134,8 +134,6 @@ int main(int argc, char **argv) {
#else /* GRPC_POSIX_SOCKET */ #else /* GRPC_POSIX_SOCKET */
int main(int argc, char **argv) { int main(int argc, char **argv) { return 1; }
return 1;
}
#endif /* GRPC_POSIX_SOCKET */ #endif /* GRPC_POSIX_SOCKET */

@ -127,8 +127,6 @@ int main(int argc, char **argv) {
#else /* GRPC_POSIX_WAKEUP_FD */ #else /* GRPC_POSIX_WAKEUP_FD */
int main(int argc, char **argv) { int main(int argc, char **argv) { return 1; }
return 1;
}
#endif /* GRPC_POSIX_WAKEUP_FD */ #endif /* GRPC_POSIX_WAKEUP_FD */

@ -31,9 +31,14 @@
* *
*/ */
#include "src/core/lib/iomgr/port.h"
#include "test/core/end2end/end2end_tests.h" #include "test/core/end2end/end2end_tests.h"
#include <string.h> #include <string.h>
#ifdef GRPC_POSIX_SOCKET
#include <unistd.h>
#endif
#include <grpc/support/alloc.h> #include <grpc/support/alloc.h>
#include <grpc/support/host_port.h> #include <grpc/support/host_port.h>
@ -45,7 +50,6 @@
#include "src/core/ext/transport/chttp2/transport/chttp2_transport.h" #include "src/core/ext/transport/chttp2/transport/chttp2_transport.h"
#include "src/core/lib/channel/connected_channel.h" #include "src/core/lib/channel/connected_channel.h"
#include "src/core/lib/channel/http_server_filter.h" #include "src/core/lib/channel/http_server_filter.h"
#include "src/core/lib/iomgr/port.h"
#include "src/core/lib/support/env.h" #include "src/core/lib/support/env.h"
#include "src/core/lib/surface/channel.h" #include "src/core/lib/surface/channel.h"
#include "src/core/lib/surface/server.h" #include "src/core/lib/surface/server.h"

@ -31,9 +31,14 @@
* *
*/ */
#include "src/core/lib/iomgr/port.h"
#include "test/core/end2end/end2end_tests.h" #include "test/core/end2end/end2end_tests.h"
#include <string.h> #include <string.h>
#ifdef GRPC_POSIX_SOCKET
#include <unistd.h>
#endif
#include <grpc/support/alloc.h> #include <grpc/support/alloc.h>
#include <grpc/support/log.h> #include <grpc/support/log.h>
@ -48,7 +53,6 @@
#include "src/core/lib/channel/http_server_filter.h" #include "src/core/lib/channel/http_server_filter.h"
#include "src/core/lib/iomgr/endpoint_pair.h" #include "src/core/lib/iomgr/endpoint_pair.h"
#include "src/core/lib/iomgr/iomgr.h" #include "src/core/lib/iomgr/iomgr.h"
#include "src/core/lib/iomgr/port.h"
#include "src/core/lib/support/env.h" #include "src/core/lib/support/env.h"
#include "src/core/lib/surface/channel.h" #include "src/core/lib/surface/channel.h"
#include "src/core/lib/surface/completion_queue.h" #include "src/core/lib/surface/completion_queue.h"

@ -556,8 +556,6 @@ int main(int argc, char **argv) {
#else /* GRPC_POSIX_SOCKET */ #else /* GRPC_POSIX_SOCKET */
int main(int argc, char **argv) { int main(int argc, char **argv) { return 1; }
return 1;
}
#endif /* GRPC_POSIX_SOCKET */ #endif /* GRPC_POSIX_SOCKET */

@ -75,8 +75,6 @@ int main(int argc, char **argv) {
#else /* GRPC_POSIX_SOCKET */ #else /* GRPC_POSIX_SOCKET */
int main(int argc, char **argv) { int main(int argc, char **argv) { return 1; }
return 1;
}
#endif /* GRPC_POSIX_SOCKET */ #endif /* GRPC_POSIX_SOCKET */

@ -552,8 +552,6 @@ int main(int argc, char **argv) {
#else /* GRPC_POSIX_SOCKET */ #else /* GRPC_POSIX_SOCKET */
int main(int argc, char **argv) { int main(int argc, char **argv) { return 1; }
return 1;
}
#endif /* GRPC_POSIX_SOCKET */ #endif /* GRPC_POSIX_SOCKET */

@ -368,8 +368,6 @@ int main(int argc, char **argv) {
#else /* GRPC_POSIX_SOCKET */ #else /* GRPC_POSIX_SOCKET */
int main(int argc, char **argv) { int main(int argc, char **argv) { return 1; }
return 1;
}
#endif /* GRPC_POSIX_SOCKET */ #endif /* GRPC_POSIX_SOCKET */

@ -323,8 +323,6 @@ int main(int argc, char **argv) {
#else /* GRPC_TIMER_USE_GENERIC */ #else /* GRPC_TIMER_USE_GENERIC */
int main(int argc, char **argv) { int main(int argc, char **argv) { return 1; }
return 1;
}
#endif /* GRPC_TIMER_USE_GENERIC */ #endif /* GRPC_TIMER_USE_GENERIC */

@ -31,6 +31,11 @@
* *
*/ */
#include "src/core/lib/iomgr/port.h"
// This test won't work except with posix sockets enabled
#ifdef GRPC_POSIX_SOCKET
#include "src/core/lib/iomgr/udp_server.h" #include "src/core/lib/iomgr/udp_server.h"
#include <netinet/in.h> #include <netinet/in.h>
@ -98,13 +103,15 @@ static void test_no_op_with_start(void) {
static void test_no_op_with_port(void) { static void test_no_op_with_port(void) {
g_number_of_orphan_calls = 0; g_number_of_orphan_calls = 0;
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
struct sockaddr_in addr; grpc_resolved_address resolved_addr;
struct sockaddr_in *addr = (struct sockaddr_in *)resolved_addr.addr;
grpc_udp_server *s = grpc_udp_server_create(); grpc_udp_server *s = grpc_udp_server_create();
LOG_TEST("test_no_op_with_port"); LOG_TEST("test_no_op_with_port");
memset(&addr, 0, sizeof(addr)); memset(&resolved_addr, 0, sizeof(resolved_addr));
addr.sin_family = AF_INET; resolved_addr.len = sizeof(struct sockaddr_in);
GPR_ASSERT(grpc_udp_server_add_port(s, (struct sockaddr *)&addr, sizeof(addr), addr->sin_family = AF_INET;
GPR_ASSERT(grpc_udp_server_add_port(s, &resolved_addr,
on_read, on_fd_orphaned)); on_read, on_fd_orphaned));
grpc_udp_server_destroy(&exec_ctx, s, NULL); grpc_udp_server_destroy(&exec_ctx, s, NULL);
@ -117,13 +124,15 @@ static void test_no_op_with_port(void) {
static void test_no_op_with_port_and_start(void) { static void test_no_op_with_port_and_start(void) {
g_number_of_orphan_calls = 0; g_number_of_orphan_calls = 0;
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
struct sockaddr_in addr; grpc_resolved_address resolved_addr;
struct sockaddr_in *addr = (struct sockaddr_in *)resolved_addr.addr;
grpc_udp_server *s = grpc_udp_server_create(); grpc_udp_server *s = grpc_udp_server_create();
LOG_TEST("test_no_op_with_port_and_start"); LOG_TEST("test_no_op_with_port_and_start");
memset(&addr, 0, sizeof(addr)); memset(&resolved_addr, 0, sizeof(resolved_addr));
addr.sin_family = AF_INET; resolved_addr.len = sizeof(struct sockaddr_in);
GPR_ASSERT(grpc_udp_server_add_port(s, (struct sockaddr *)&addr, sizeof(addr), addr->sin_family = AF_INET;
GPR_ASSERT(grpc_udp_server_add_port(s, &resolved_addr,
on_read, on_fd_orphaned)); on_read, on_fd_orphaned));
grpc_udp_server_start(&exec_ctx, s, NULL, 0, NULL); grpc_udp_server_start(&exec_ctx, s, NULL, 0, NULL);
@ -137,8 +146,8 @@ static void test_no_op_with_port_and_start(void) {
static void test_receive(int number_of_clients) { static void test_receive(int number_of_clients) {
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
struct sockaddr_storage addr; grpc_resolved_address resolved_addr;
socklen_t addr_len = sizeof(addr); struct sockaddr_storage *addr = (struct sockaddr_storage *)resolved_addr.addr;
int clifd, svrfd; int clifd, svrfd;
grpc_udp_server *s = grpc_udp_server_create(); grpc_udp_server *s = grpc_udp_server_create();
int i; int i;
@ -151,15 +160,16 @@ static void test_receive(int number_of_clients) {
g_number_of_bytes_read = 0; g_number_of_bytes_read = 0;
g_number_of_orphan_calls = 0; g_number_of_orphan_calls = 0;
memset(&addr, 0, sizeof(addr)); memset(&resolved_addr, 0, sizeof(resolved_addr));
addr.ss_family = AF_INET; resolved_addr.len = sizeof(struct sockaddr_storage);
GPR_ASSERT(grpc_udp_server_add_port(s, (struct sockaddr *)&addr, addr_len, addr->ss_family = AF_INET;
GPR_ASSERT(grpc_udp_server_add_port(s, &resolved_addr,
on_read, on_fd_orphaned)); on_read, on_fd_orphaned));
svrfd = grpc_udp_server_get_fd(s, 0); svrfd = grpc_udp_server_get_fd(s, 0);
GPR_ASSERT(svrfd >= 0); GPR_ASSERT(svrfd >= 0);
GPR_ASSERT(getsockname(svrfd, (struct sockaddr *)&addr, &addr_len) == 0); GPR_ASSERT(getsockname(svrfd, (struct sockaddr *)addr, (socklen_t *)&resolved_addr.len) == 0);
GPR_ASSERT(addr_len <= sizeof(addr)); GPR_ASSERT(resolved_addr.len <= sizeof(struct sockaddr_storage));
pollsets[0] = g_pollset; pollsets[0] = g_pollset;
grpc_udp_server_start(&exec_ctx, s, pollsets, 1, NULL); grpc_udp_server_start(&exec_ctx, s, pollsets, 1, NULL);
@ -171,9 +181,9 @@ static void test_receive(int number_of_clients) {
number_of_reads_before = g_number_of_reads; number_of_reads_before = g_number_of_reads;
/* Create a socket, send a packet to the UDP server. */ /* Create a socket, send a packet to the UDP server. */
clifd = socket(addr.ss_family, SOCK_DGRAM, 0); clifd = socket(addr->ss_family, SOCK_DGRAM, 0);
GPR_ASSERT(clifd >= 0); GPR_ASSERT(clifd >= 0);
GPR_ASSERT(connect(clifd, (struct sockaddr *)&addr, addr_len) == 0); GPR_ASSERT(connect(clifd, (struct sockaddr *)&addr, (socklen_t)resolved_addr.len) == 0);
GPR_ASSERT(5 == write(clifd, "hello", 5)); GPR_ASSERT(5 == write(clifd, "hello", 5));
while (g_number_of_reads == number_of_reads_before && while (g_number_of_reads == number_of_reads_before &&
gpr_time_cmp(deadline, gpr_now(deadline.clock_type)) > 0) { gpr_time_cmp(deadline, gpr_now(deadline.clock_type)) > 0) {
@ -227,3 +237,9 @@ int main(int argc, char **argv) {
grpc_iomgr_shutdown(); grpc_iomgr_shutdown();
return 0; return 0;
} }
#else /* GRPC_POSIX_SOCKET */
int main(int argc, char **argv) { return 1; }
#endif /* GRPC_POSIX_SOCKET */

@ -112,8 +112,6 @@ int grpc_pick_unused_port_or_die(void) {
return port; return port;
} }
void grpc_recycle_unused_port(int port) { void grpc_recycle_unused_port(int port) { GPR_ASSERT(free_chosen_port(port)); }
GPR_ASSERT(free_chosen_port(port));
}
#endif /* GRPC_UV && GRPC_TEST_PICK_PORT */ #endif /* GRPC_UV && GRPC_TEST_PICK_PORT */

@ -411,9 +411,7 @@
], ],
"cpu_cost": 0.1, "cpu_cost": 0.1,
"exclude_configs": [], "exclude_configs": [],
"exclude_iomgrs": [ "exclude_iomgrs": [],
"uv"
],
"flaky": false, "flaky": false,
"gtest": false, "gtest": false,
"language": "c", "language": "c",
@ -435,6 +433,9 @@
], ],
"cpu_cost": 0.1, "cpu_cost": 0.1,
"exclude_configs": [], "exclude_configs": [],
"exclude_iomgrs": [
"uv"
],
"flaky": false, "flaky": false,
"gtest": false, "gtest": false,
"language": "c", "language": "c",
@ -2167,7 +2168,9 @@
], ],
"cpu_cost": 1.0, "cpu_cost": 1.0,
"exclude_configs": [], "exclude_configs": [],
"exclude_iomgrs": [], "exclude_iomgrs": [
"uv"
],
"flaky": false, "flaky": false,
"gtest": false, "gtest": false,
"language": "c", "language": "c",

Loading…
Cancel
Save