瀏覽代碼

Properly handle tcp connection failure

Fabio Alessandrelli 8 年之前
父節點
當前提交
4f07b595a1
共有 2 個文件被更改,包括 12 次插入2 次删除
  1. 6 1
      drivers/unix/stream_peer_tcp_posix.cpp
  2. 6 1
      platform/windows/stream_peer_winsock.cpp

+ 6 - 1
drivers/unix/stream_peer_tcp_posix.cpp

@@ -107,7 +107,12 @@ Error StreamPeerTCPPosix::_poll_connection(bool p_block) const {
 			return OK;
 		};
 
-		return OK;
+		if (errno == EINPROGRESS || errno == EALREADY) {
+			return OK;
+		}
+
+		status = STATUS_ERROR;
+		return ERR_CONNECTION_ERROR;
 	} else {
 
 		status = STATUS_CONNECTED;

+ 6 - 1
platform/windows/stream_peer_winsock.cpp

@@ -98,7 +98,12 @@ Error StreamPeerWinsock::_poll_connection(bool p_block) const {
 			return OK;
 		};
 
-		return OK;
+		if (errno == WSAEINPROGRESS || errno == WSAEALREADY) {
+			return OK;
+		}
+
+		status = STATUS_ERROR;
+		return ERR_CONNECTION_ERROR;
 	} else {
 
 		status = STATUS_CONNECTED;