diff options
author | 2015-06-04 14:00:46 -0700 | |
---|---|---|
committer | 2015-06-04 14:00:46 -0700 | |
commit | 3e50a658f857bf4de5ee51c530fdea929ca7948d (patch) | |
tree | e4eabb6a84b82a02cfdf27ed06e434f536df9f26 | |
parent | 7faeea5084e2c1fa2fdf58f8042563f41a627777 (diff) | |
parent | c2e5be99d30b8c159a588bd57e72827b37cb3c19 (diff) |
Merge pull request #1941 from jtattermusch/fix_csharp_crash
Fix C# test access violation exception on Windows
-rw-r--r-- | src/core/iomgr/resolve_address_windows.c | 2 | ||||
-rw-r--r-- | src/core/iomgr/socket_windows.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/core/iomgr/resolve_address_windows.c b/src/core/iomgr/resolve_address_windows.c index d388b04837..fb5fd0d4f6 100644 --- a/src/core/iomgr/resolve_address_windows.c +++ b/src/core/iomgr/resolve_address_windows.c @@ -135,9 +135,9 @@ static void do_request(void *rp) { grpc_resolve_cb cb = r->cb; gpr_free(r->name); gpr_free(r->default_port); + grpc_iomgr_unregister_object(&r->iomgr_object); gpr_free(r); cb(arg, resolved); - grpc_iomgr_unregister_object(&r->iomgr_object); } void grpc_resolved_addresses_destroy(grpc_resolved_addresses *addrs) { diff --git a/src/core/iomgr/socket_windows.c b/src/core/iomgr/socket_windows.c index e4ba0a2b66..fbf3fdc949 100644 --- a/src/core/iomgr/socket_windows.c +++ b/src/core/iomgr/socket_windows.c @@ -85,13 +85,13 @@ int grpc_winsocket_shutdown(grpc_winsocket *socket) { both memory and sockets. */ void grpc_winsocket_orphan(grpc_winsocket *winsocket) { SOCKET socket = winsocket->socket; + grpc_iomgr_unregister_object(&winsocket->iomgr_object); if (winsocket->read_info.outstanding || winsocket->write_info.outstanding) { grpc_iocp_socket_orphan(winsocket); } else { grpc_winsocket_destroy(winsocket); } closesocket(socket); - grpc_iomgr_unregister_object(&winsocket->iomgr_object); } void grpc_winsocket_destroy(grpc_winsocket *winsocket) { |