]> granicus.if.org Git - php/commitdiff
Ignore warnings on EAGAIN/EWOULDBLOCK/EINPROGRESS
authorGustavo Lopes <glopes@nebm.ist.utl.pt>
Sat, 2 Feb 2013 14:43:05 +0000 (15:43 +0100)
committerGustavo Lopes <glopes@nebm.ist.utl.pt>
Sat, 2 Feb 2013 14:43:05 +0000 (15:43 +0100)
See bug #63570

ext/sockets/php_sockets.h
ext/sockets/tests/socket_sentto_recvfrom_ipv4_udp.phpt
ext/sockets/tests/socket_sentto_recvfrom_ipv6_udp.phpt
ext/sockets/tests/socket_sentto_recvfrom_unix.phpt

index 3762e026aa516846917b16b4685ef102a130ba14..9c5dc5a4aa5869eb6329909e8bb1dba4dfdf3a5d 100644 (file)
@@ -69,7 +69,9 @@ PHP_SOCKETS_API int php_sockets_le_socket(void);
                        int _err = (errn); /* save value to avoid repeated calls to WSAGetLastError() on Windows */ \
                        (socket)->error = _err; \
                        SOCKETS_G(last_error) = _err; \
-                       php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s [%d]: %s", msg, _err, php_strerror(_err TSRMLS_CC)); \
+                       if (_err != EAGAIN && _err != EWOULDBLOCK && _err != EINPROGRESS) { \
+                               php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s [%d]: %s", msg, _err, php_strerror(_err TSRMLS_CC)); \
+                       } \
                } while (0)
 
 ZEND_BEGIN_MODULE_GLOBALS(sockets)
index bf95044d48a87f45da83f8d46c72d4380034bc6c..00d69a855fb08a7b06a3f2223c174eacc40d63b1 100644 (file)
@@ -14,7 +14,7 @@ if (!extension_loaded('sockets')) {
     if (!socket_set_nonblock($socket)) {
         die('Unable to set nonblocking mode for socket');
     }
-    socket_recvfrom($socket, $buf, 12, 0, $from, $port); // cause warning
+    var_dump(socket_recvfrom($socket, $buf, 12, 0, $from, $port)); //false (EAGAIN - no warning)
     $address = '127.0.0.1';
     socket_sendto($socket, '', 1, 0, $address); // cause warning
     if (!socket_bind($socket, $address, 1223)) {
@@ -44,7 +44,7 @@ if (!extension_loaded('sockets')) {
 
     socket_close($socket);
 --EXPECTF--
-Warning: socket_recvfrom(): unable to recvfrom [%d]: %a in %s on line %d
+bool(false)
 
 Warning: Wrong parameter count for socket_sendto() in %s on line %d
 
index 2beb8080cdb56472baef82063d0892d39b5db7a7..bd0790427773bd83bfe24cee7e2477aedc0fdf02 100644 (file)
@@ -18,7 +18,7 @@ require 'ipv6_skipif.inc';
     if (!socket_set_nonblock($socket)) {
         die('Unable to set nonblocking mode for socket');
     }
-    socket_recvfrom($socket, $buf, 12, 0, $from, $port); // cause warning
+    var_dump(socket_recvfrom($socket, $buf, 12, 0, $from, $port)); // false (EAGAIN, no warning)
     $address = '::1';
     socket_sendto($socket, '', 1, 0, $address); // cause warning
     if (!socket_bind($socket, $address, 1223)) {
@@ -48,7 +48,7 @@ require 'ipv6_skipif.inc';
 
     socket_close($socket);
 --EXPECTF--
-Warning: socket_recvfrom(): unable to recvfrom [11]: Resource temporarily unavailable in %s on line %d
+bool(false)
 
 Warning: Wrong parameter count for socket_sendto() in %s on line %d
 
index 55ad75c65e4305e32b1500ea8f8d0cf39cb4a987..e25bf4df1a54775dbf5865b9c6bcf30fab08b13c 100644 (file)
@@ -18,7 +18,7 @@ if (!extension_loaded('sockets')) {
     if (!socket_set_nonblock($socket)) {
         die('Unable to set nonblocking mode for socket');
     }
-    socket_recvfrom($socket, $buf, 12, 0, $from, $port); // cause warning
+    var_dump(socket_recvfrom($socket, $buf, 12, 0, $from, $port)); //false (EAGAIN, no warning)
     $address = sprintf("/tmp/%s.sock", uniqid());
     if (!socket_bind($socket, $address)) {
         die("Unable to bind to $address");
@@ -53,8 +53,7 @@ if (!extension_loaded('sockets')) {
 ?>
 --EXPECTF--
 Warning: socket_create(): Unable to create socket [%d]: Protocol not supported in %s on line %d
-
-Warning: socket_recvfrom(): unable to recvfrom [%d]: Resource temporarily unavailable in %s on line %d
+bool(false)
 
 Warning: socket_sendto() expects at least 5 parameters, 4 given in %s on line %d
 bool(false)