aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/iomgr
diff options
context:
space:
mode:
authorGravatar Robbie Shade <rjshade@google.com>2015-08-28 11:20:09 -0400
committerGravatar Robbie Shade <rjshade@google.com>2015-08-28 11:20:09 -0400
commit8ff671feb64fec67b980284b439068e487f7dd0c (patch)
tree504ad1e7a29ccf98d66d8697c3b046272876aa31 /src/core/iomgr
parent400e0cdd321fbec7311d58d9e407c2426490eb69 (diff)
Add SOCK_NONBLOCK option to UDP sockets.
Diffstat (limited to 'src/core/iomgr')
-rw-r--r--src/core/iomgr/udp_server.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core/iomgr/udp_server.c b/src/core/iomgr/udp_server.c
index 6429c38b28..0508853b2e 100644
--- a/src/core/iomgr/udp_server.c
+++ b/src/core/iomgr/udp_server.c
@@ -370,7 +370,8 @@ int grpc_udp_server_add_port(grpc_udp_server *s, const void *addr, int addr_len,
/* Try listening on IPv6 first. */
addr = (struct sockaddr *)&wild6;
addr_len = sizeof(wild6);
- fd = grpc_create_dualstack_socket(addr, SOCK_DGRAM, IPPROTO_UDP, &dsmode);
+ fd = grpc_create_dualstack_socket(addr, SOCK_DGRAM | SOCK_NONBLOCK,
+ IPPROTO_UDP, &dsmode);
allocated_port1 = add_socket_to_server(s, fd, addr, addr_len, read_cb);
if (fd >= 0 && dsmode == GRPC_DSMODE_DUALSTACK) {
goto done;
@@ -384,7 +385,8 @@ int grpc_udp_server_add_port(grpc_udp_server *s, const void *addr, int addr_len,
addr_len = sizeof(wild4);
}
- fd = grpc_create_dualstack_socket(addr, SOCK_DGRAM, IPPROTO_UDP, &dsmode);
+ fd = grpc_create_dualstack_socket(addr, SOCK_DGRAM | SOCK_NONBLOCK,
+ IPPROTO_UDP, &dsmode);
if (fd < 0) {
gpr_log(GPR_ERROR, "Unable to create socket: %s", strerror(errno));
}