diff options
author | 2015-07-12 11:14:20 -0700 | |
---|---|---|
committer | 2015-07-12 11:14:20 -0700 | |
commit | 4d0b7427faecfdbb1635c2ab158c922d7511b865 (patch) | |
tree | 4f4eb1bb53c8c766c69aff9947d15a6c038a68d2 | |
parent | e417f4164d166f8d08c48471e871d8472298fb76 (diff) | |
parent | 80e5f044a4f7ee5e1b81a3da8f930d216ca01849 (diff) |
Merge pull request #2402 from jtattermusch/windows_polishing
Windows polishing
-rw-r--r-- | src/core/iomgr/iocp_windows.c | 1 | ||||
-rw-r--r-- | src/core/iomgr/tcp_windows.c | 24 | ||||
-rw-r--r-- | src/core/surface/channel.c | 1 |
3 files changed, 16 insertions, 10 deletions
diff --git a/src/core/iomgr/iocp_windows.c b/src/core/iomgr/iocp_windows.c index 0c62bfccd5..3d3a193d00 100644 --- a/src/core/iomgr/iocp_windows.c +++ b/src/core/iomgr/iocp_windows.c @@ -127,7 +127,6 @@ static void iocp_loop(void *p) { grpc_maybe_call_delayed_callbacks(NULL, 1); do_iocp_work(); } - gpr_log(GPR_DEBUG, "iocp_loop is done"); gpr_event_set(&g_iocp_done, (void *)1); } diff --git a/src/core/iomgr/tcp_windows.c b/src/core/iomgr/tcp_windows.c index 15759c398a..1bf81a73e0 100644 --- a/src/core/iomgr/tcp_windows.c +++ b/src/core/iomgr/tcp_windows.c @@ -148,9 +148,11 @@ static void on_read(void *tcpp, int from_iocp) { GPR_ASSERT(tcp->socket->read_info.outstanding); if (socket->read_info.wsa_error != 0) { - char *utf8_message = gpr_format_message(info->wsa_error); - gpr_log(GPR_ERROR, "ReadFile overlapped error: %s", utf8_message); - gpr_free(utf8_message); + if (socket->read_info.wsa_error != WSAECONNRESET) { + char *utf8_message = gpr_format_message(info->wsa_error); + gpr_log(GPR_ERROR, "ReadFile overlapped error: %s", utf8_message); + gpr_free(utf8_message); + } status = GRPC_ENDPOINT_CB_ERROR; } else { if (info->bytes_transfered != 0) { @@ -259,9 +261,11 @@ static void on_write(void *tcpp, int from_iocp) { GPR_ASSERT(tcp->socket->write_info.outstanding); if (info->wsa_error != 0) { - char *utf8_message = gpr_format_message(info->wsa_error); - gpr_log(GPR_ERROR, "WSASend overlapped error: %s", utf8_message); - gpr_free(utf8_message); + if (info->wsa_error != WSAECONNRESET) { + char *utf8_message = gpr_format_message(info->wsa_error); + gpr_log(GPR_ERROR, "WSASend overlapped error: %s", utf8_message); + gpr_free(utf8_message); + } status = GRPC_ENDPOINT_CB_ERROR; } else { GPR_ASSERT(info->bytes_transfered == tcp->write_slices.length); @@ -325,9 +329,11 @@ static grpc_endpoint_write_status win_write(grpc_endpoint *ep, ret = GRPC_ENDPOINT_WRITE_DONE; GPR_ASSERT(bytes_sent == tcp->write_slices.length); } else { - char *utf8_message = gpr_format_message(info->wsa_error); - gpr_log(GPR_ERROR, "WSASend error: %s", utf8_message); - gpr_free(utf8_message); + if (socket->read_info.wsa_error != WSAECONNRESET) { + char *utf8_message = gpr_format_message(info->wsa_error); + gpr_log(GPR_ERROR, "WSASend error: %s", utf8_message); + gpr_free(utf8_message); + } } if (allocated) gpr_free(allocated); gpr_slice_buffer_reset_and_unref(&tcp->write_slices); diff --git a/src/core/surface/channel.c b/src/core/surface/channel.c index eeae3b507c..b7826d4dfc 100644 --- a/src/core/surface/channel.c +++ b/src/core/surface/channel.c @@ -91,6 +91,7 @@ grpc_channel *grpc_channel_create_from_filters( size_t size = sizeof(grpc_channel) + grpc_channel_stack_size(filters, num_filters); grpc_channel *channel = gpr_malloc(size); + memset(channel, 0, sizeof(*channel)); GPR_ASSERT(grpc_is_initialized() && "call grpc_init()"); channel->is_client = is_client; /* decremented by grpc_channel_destroy */ |