summaryrefslogtreecommitdiff
path: root/main/streams/xp_socket.c
diff options
context:
space:
mode:
Diffstat (limited to 'main/streams/xp_socket.c')
-rw-r--r--main/streams/xp_socket.c10
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) {