diff options
Diffstat (limited to 'main/streams/xp_socket.c')
| -rw-r--r-- | main/streams/xp_socket.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/main/streams/xp_socket.c b/main/streams/xp_socket.c index 00b20b2b63..d70a9c79ba 100644 --- a/main/streams/xp_socket.c +++ b/main/streams/xp_socket.c @@ -230,10 +230,14 @@ static int php_sockop_set_option(php_stream *stream, int option, int value, void char buf; int alive = 1; - if (sock->timeout.tv_sec == -1) { - tv.tv_sec = FG(default_socket_timeout); + if (value == -1) { + if (sock->timeout.tv_sec == -1) { + tv.tv_sec = FG(default_socket_timeout); + } else { + tv = sock->timeout; + } } else { - tv = sock->timeout; + tv.tv_sec = value; } if (sock->socket == -1) { |
