aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/lib/iomgr/socket_utils_posix.c
diff options
context:
space:
mode:
authorGravatar Michael Lumish <mlumish@google.com>2016-10-25 17:47:58 -0700
committerGravatar GitHub <noreply@github.com>2016-10-25 17:47:58 -0700
commit5bb04de5ad23b77b646a63fcae1da2f41537c1e5 (patch)
treee9893d4a933a518b5ade0d380fe2c4bdf4367533 /src/core/lib/iomgr/socket_utils_posix.c
parentc5fc0433e0ef1e2000dca4e73286d9f2935579c4 (diff)
parent7d897feea994e72913ab63eb824369461930ddb1 (diff)
Merge pull request #8125 from murgatroid99/uv_core_transport
Add a libuv endpoint to the C core, for use in the Node library
Diffstat (limited to 'src/core/lib/iomgr/socket_utils_posix.c')
-rw-r--r--src/core/lib/iomgr/socket_utils_posix.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/core/lib/iomgr/socket_utils_posix.c b/src/core/lib/iomgr/socket_utils_posix.c
index 57ae64c103..9dea0c0cd8 100644
--- a/src/core/lib/iomgr/socket_utils_posix.c
+++ b/src/core/lib/iomgr/socket_utils_posix.c
@@ -31,9 +31,9 @@
*
*/
-#include <grpc/support/port_platform.h>
+#include "src/core/lib/iomgr/port.h"
-#ifdef GPR_POSIX_SOCKETUTILS
+#ifdef GRPC_POSIX_SOCKETUTILS
#include "src/core/lib/iomgr/socket_utils_posix.h"
@@ -42,12 +42,15 @@
#include <unistd.h>
#include <grpc/support/log.h>
+#include "src/core/lib/iomgr/sockaddr.h"
-int grpc_accept4(int sockfd, struct sockaddr *addr, socklen_t *addrlen,
- int nonblock, int cloexec) {
+int grpc_accept4(int sockfd, grpc_resolved_address *resolved_addr, int nonblock,
+ int cloexec) {
int fd, flags;
-
- fd = accept(sockfd, addr, addrlen);
+ GPR_ASSERT(sizeof(socklen_t) <= sizeof(size_t));
+ GPR_ASSERT(resolved_addr->len <= (socklen_t)-1);
+ fd = accept(sockfd, (struct sockaddr *)resolved_addr->addr,
+ (socklen_t *)&resolved_addr->len);
if (fd >= 0) {
if (nonblock) {
flags = fcntl(fd, F_GETFL, 0);
@@ -67,4 +70,4 @@ close_and_error:
return -1;
}
-#endif /* GPR_POSIX_SOCKETUTILS */
+#endif /* GRPC_POSIX_SOCKETUTILS */