summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelipe Pena <felipe@php.net>2009-01-07 20:19:17 +0000
committerFelipe Pena <felipe@php.net>2009-01-07 20:19:17 +0000
commitd2287d770133f216805e43bd6fcc0c35bd2fe318 (patch)
tree6bf858b16b7ecea69dbd41f1befce720fcd6f489
parent22537b3c853a254a6b47257548f3dfb43a3c39fd (diff)
downloadphp-git-d2287d770133f216805e43bd6fcc0c35bd2fe318.tar.gz
- Added check for EWOULDBLOCK
- Using EWOULDBLOCK instead of EAGAIN by portability issues (Related to #46917)
-rw-r--r--main/php_network.h4
-rw-r--r--main/streams/xp_socket.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/main/php_network.h b/main/php_network.h
index 02e2b8ef6b..9f552f352b 100644
--- a/main/php_network.h
+++ b/main/php_network.h
@@ -40,6 +40,10 @@
# define ftruncate(a, b) chsize(a, b)
#endif /* defined(PHP_WIN32) */
+#ifndef EWOULDBLOCK
+# define EWOULDBLOCK EAGAIN
+#endif
+
#ifdef PHP_WIN32
#define php_socket_errno() WSAGetLastError()
#else
diff --git a/main/streams/xp_socket.c b/main/streams/xp_socket.c
index 172103ec39..57e1b5af9b 100644
--- a/main/streams/xp_socket.c
+++ b/main/streams/xp_socket.c
@@ -281,7 +281,7 @@ static int php_sockop_set_option(php_stream *stream, int option, int value, void
if (sock->socket == -1) {
alive = 0;
} else if (php_pollfd_for(sock->socket, PHP_POLLREADABLE|POLLPRI, &tv) > 0) {
- if (0 == recv(sock->socket, &buf, sizeof(buf), MSG_PEEK) && php_socket_errno() != EAGAIN) {
+ if (0 == recv(sock->socket, &buf, sizeof(buf), MSG_PEEK) && php_socket_errno() != EWOULDBLOCK) {
alive = 0;
}
}