@@ -78,8 +78,11 @@ static int uv__tcp_keepalive(uv_tcp_t* handle, SOCKET socket, int enable, unsign
7878}
7979
8080
81- static int uv_tcp_set_socket (uv_loop_t * loop , uv_tcp_t * handle ,
82- SOCKET socket , int family , int imported ) {
81+ static int uv_tcp_set_socket (uv_loop_t * loop ,
82+ uv_tcp_t * handle ,
83+ SOCKET socket ,
84+ int family ,
85+ int imported ) {
8386 DWORD yes = 1 ;
8487 int non_ifs_lsp ;
8588 int err ;
@@ -92,6 +95,10 @@ static int uv_tcp_set_socket(uv_loop_t* loop, uv_tcp_t* handle,
9295 return WSAGetLastError ();
9396 }
9497
98+ /* Make the socket non-inheritable */
99+ if (!SetHandleInformation ((HANDLE ) socket , HANDLE_FLAG_INHERIT , 0 ))
100+ return GetLastError ();
101+
95102 /* Associate it with the I/O completion port. */
96103 /* Use uv_handle_t pointer as completion key. */
97104 if (CreateIoCompletionPort ((HANDLE )socket ,
@@ -268,13 +275,6 @@ static int uv_tcp_try_bind(uv_tcp_t* handle,
268275 return WSAGetLastError ();
269276 }
270277
271- /* Make the socket non-inheritable */
272- if (!SetHandleInformation ((HANDLE ) sock , HANDLE_FLAG_INHERIT , 0 )) {
273- err = GetLastError ();
274- closesocket (sock );
275- return err ;
276- }
277-
278278 err = uv_tcp_set_socket (handle -> loop , handle , sock , addr -> sa_family , 0 );
279279 if (err ) {
280280 closesocket (sock );
@@ -381,15 +381,6 @@ static void uv_tcp_queue_accept(uv_tcp_t* handle, uv_tcp_accept_t* req) {
381381 return ;
382382 }
383383
384- /* Make the socket non-inheritable */
385- if (!SetHandleInformation ((HANDLE ) accept_socket , HANDLE_FLAG_INHERIT , 0 )) {
386- SET_REQ_ERROR (req , GetLastError ());
387- uv_insert_pending_req (loop , (uv_req_t * )req );
388- handle -> reqs_pending ++ ;
389- closesocket (accept_socket );
390- return ;
391- }
392-
393384 /* Prepare the overlapped structure. */
394385 memset (& (req -> u .io .overlapped ), 0 , sizeof (req -> u .io .overlapped ));
395386 if (handle -> flags & UV_HANDLE_EMULATE_IOCP ) {
@@ -1166,12 +1157,6 @@ int uv_tcp_import(uv_tcp_t* tcp, uv__ipc_socket_info_ex* socket_info_ex,
11661157 return WSAGetLastError ();
11671158 }
11681159
1169- if (!SetHandleInformation ((HANDLE ) socket , HANDLE_FLAG_INHERIT , 0 )) {
1170- err = GetLastError ();
1171- closesocket (socket );
1172- return err ;
1173- }
1174-
11751160 err = uv_tcp_set_socket (tcp -> loop ,
11761161 tcp ,
11771162 socket ,
@@ -1427,11 +1412,6 @@ int uv_tcp_open(uv_tcp_t* handle, uv_os_sock_t sock) {
14271412 return uv_translate_sys_error (GetLastError ());
14281413 }
14291414
1430- /* Make the socket non-inheritable */
1431- if (!SetHandleInformation ((HANDLE ) sock , HANDLE_FLAG_INHERIT , 0 )) {
1432- return uv_translate_sys_error (GetLastError ());
1433- }
1434-
14351415 err = uv_tcp_set_socket (handle -> loop ,
14361416 handle ,
14371417 sock ,
0 commit comments