From 07544a884ce0ea9d8b96da86bb5518112a41c2e3 Mon Sep 17 00:00:00 2001 From: Maurits Dijkstra Date: Fri, 26 Jan 2024 16:05:32 +0100 Subject: [PATCH] Fix EINPROGRESS very rarely occurring in php_network_connect_socket in synchronous mode --- main/network.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/main/network.c b/main/network.c index a1165f6a29d6b..ad78f2ba1da3f 100644 --- a/main/network.c +++ b/main/network.c @@ -365,6 +365,11 @@ PHPAPI int php_network_connect_socket(php_socket_t sockfd, if (getsockopt(sockfd, SOL_SOCKET, SO_ERROR, (char*)&error, &len) != 0) { ret = -1; } + if (error == EINPROGRESS) { + /* Is leftover from the earlier connect call, since php_socket_errno + * does not clear it. */ + error = 0; + } } else { /* whoops: sockfd has disappeared */ ret = -1;