diff options
author | Craig Tiller <ctiller@google.com> | 2016-10-27 22:23:27 -0700 |
---|---|---|
committer | Craig Tiller <ctiller@google.com> | 2016-10-27 22:23:27 -0700 |
commit | bba5285df03150f6e9f13292506dcb812eaeb4bd (patch) | |
tree | 41654477b472dba1518013d054c91e7995b233a4 /src/core | |
parent | 693d3949b420aac2f4e9956eedaf4296b64c689f (diff) | |
parent | 51fc01dffabf778f8dc4697db4bc33461a29683b (diff) |
Merge github.com:grpc/grpc into buffer_pools_for_realsies
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/lib/iomgr/ev_epoll_linux.c | 6 | ||||
-rw-r--r-- | src/core/lib/iomgr/tcp_uv.c | 3 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/core/lib/iomgr/ev_epoll_linux.c b/src/core/lib/iomgr/ev_epoll_linux.c index 8381f4a63a..db51ec4939 100644 --- a/src/core/lib/iomgr/ev_epoll_linux.c +++ b/src/core/lib/iomgr/ev_epoll_linux.c @@ -1711,6 +1711,12 @@ retry: "pollset_add_fd: Raced creating new polling island. pi_new: %p " "(fd: %d, pollset: %p)", (void *)pi_new, fd->fd, (void *)pollset); + + /* No need to lock 'pi_new' here since this is a new polling island and + * no one has a reference to it yet */ + polling_island_remove_all_fds_locked(pi_new, true, &error); + + /* Ref and unref so that the polling island gets deleted during unref */ PI_ADD_REF(pi_new, "dance_of_destruction"); PI_UNREF(exec_ctx, pi_new, "dance_of_destruction"); goto retry; diff --git a/src/core/lib/iomgr/tcp_uv.c b/src/core/lib/iomgr/tcp_uv.c index 05d6eeb240..3860fe3e9b 100644 --- a/src/core/lib/iomgr/tcp_uv.c +++ b/src/core/lib/iomgr/tcp_uv.c @@ -315,6 +315,9 @@ grpc_endpoint *grpc_tcp_create(uv_tcp_t *handle, char *peer_string) { gpr_log(GPR_DEBUG, "Creating TCP endpoint %p", tcp); } + /* Disable Nagle's Algorithm */ + uv_tcp_nodelay(handle, 1); + memset(tcp, 0, sizeof(grpc_tcp)); tcp->base.vtable = &vtable; tcp->handle = handle; |