diff options
| -rwxr-xr-x | main/streams/streams.c | 2 | ||||
| -rw-r--r-- | main/streams/xp_socket.c | 8 |
2 files changed, 7 insertions, 3 deletions
diff --git a/main/streams/streams.c b/main/streams/streams.c index 3d7d251ee3..8ca087727a 100755 --- a/main/streams/streams.c +++ b/main/streams/streams.c @@ -831,7 +831,7 @@ PHPAPI int _php_stream_eof(php_stream *stream TSRMLS_DC) /* use the configured timeout when checking eof */ if (!stream->eof && PHP_STREAM_OPTION_RETURN_ERR == php_stream_set_option(stream, PHP_STREAM_OPTION_CHECK_LIVENESS, - 0, NULL)) { + -1, NULL)) { stream->eof = 1; } diff --git a/main/streams/xp_socket.c b/main/streams/xp_socket.c index a51c704e63..ab304e1f8d 100644 --- a/main/streams/xp_socket.c +++ b/main/streams/xp_socket.c @@ -280,8 +280,12 @@ 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) { + } 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) { + alive = 0; + } + } else { alive = 0; } } |
