Index: net/socket/tcp_server_socket_win.cc |
diff --git a/net/socket/tcp_server_socket_win.cc b/net/socket/tcp_server_socket_win.cc |
index baa541085c30cc17966e9a1e4b8fb95530a86e5b..7e5cf4dc016344bd8da18db563f90081dc507a5a 100644 |
--- a/net/socket/tcp_server_socket_win.cc |
+++ b/net/socket/tcp_server_socket_win.cc |
@@ -182,8 +182,9 @@ void TCPServerSocketWin::OnObjectSignaled(HANDLE object) { |
int result = AcceptInternal(accept_socket_); |
if (result != ERR_IO_PENDING) { |
accept_socket_ = NULL; |
- accept_callback_.Run(result); |
+ CompletionCallback callback = accept_callback_; |
accept_callback_.Reset(); |
+ callback.Run(result); |
} |
} |
} |