From 660aa6701d1b32e64e8b6c40603b18b92d4806c4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Gustavo=20Andr=C3=A9=20dos=20Santos=20Lopes?= Date: Wed, 23 Mar 2011 00:51:22 +0000 Subject: [PATCH] - Updating UPGRADING for r309516 and modest merge to 5.3. --- NEWS | 2 ++ ext/sockets/sockets.c | 8 ++++++-- ext/sockets/tests/socket_strerror.phpt | 2 +- main/network.c | 4 +++- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/NEWS b/NEWS index e3e7f7d543..5c67a49096 100644 --- a/NEWS +++ b/NEWS @@ -37,6 +37,8 @@ PHP NEWS . Fixed bug #54312 (soap_version logic bug). (tom at samplonius dot org) - Sockets extension: + . Changed socket_set_block() and socket_set_nonblock() so they emit warnings + on error. (Gustavo) . Fixed bug #51958 (socket_accept() fails on IPv6 server sockets). (Gustavo) - SPL extension: diff --git a/ext/sockets/sockets.c b/ext/sockets/sockets.c index 7b3c54ff88..91ae979827 100644 --- a/ext/sockets/sockets.c +++ b/ext/sockets/sockets.c @@ -916,8 +916,10 @@ PHP_FUNCTION(socket_set_nonblock) if (php_set_sock_blocking(php_sock->bsd_socket, 0 TSRMLS_CC) == SUCCESS) { php_sock->blocking = 0; RETURN_TRUE; + } else { + PHP_SOCKET_ERROR(php_sock, "unable to set nonblocking mode", errno); + RETURN_FALSE; } - RETURN_FALSE; } /* }}} */ @@ -937,8 +939,10 @@ PHP_FUNCTION(socket_set_block) if (php_set_sock_blocking(php_sock->bsd_socket, 1 TSRMLS_CC) == SUCCESS) { php_sock->blocking = 1; RETURN_TRUE; + } else { + PHP_SOCKET_ERROR(php_sock, "unable to set blocking mode", errno); + RETURN_FALSE; } - RETURN_FALSE; } /* }}} */ diff --git a/ext/sockets/tests/socket_strerror.phpt b/ext/sockets/tests/socket_strerror.phpt index d1759c582c..d3abe8fb59 100644 --- a/ext/sockets/tests/socket_strerror.phpt +++ b/ext/sockets/tests/socket_strerror.phpt @@ -154,4 +154,4 @@ string(20) "Key has been revoked" string(27) "Key was rejected by service" string(10) "Owner died" string(21) "State not recoverable" -string(17) "Unknown error 132" +string(37) "Operation not possible due to RF-kill" diff --git a/main/network.c b/main/network.c index 1133fc5901..770a6d8252 100644 --- a/main/network.c +++ b/main/network.c @@ -1095,7 +1095,9 @@ PHPAPI int php_set_sock_blocking(int socketd, int block TSRMLS_DC) } else { flags &= ~myflag; } - fcntl(socketd, F_SETFL, flags); + if (fcntl(socketd, F_SETFL, flags) == -1) { + ret = FAILURE; + } #endif return ret; } -- 2.50.1