]> granicus.if.org Git - php/commitdiff
Scan through a range of ports in case 31338 is busy
authorSara Golemon <sgolemon@fb.com>
Thu, 15 Oct 2015 05:42:38 +0000 (22:42 -0700)
committerSara Golemon <sgolemon@fb.com>
Thu, 15 Oct 2015 05:44:27 +0000 (22:44 -0700)
ext/standard/tests/network/ud4loop.phpt hardcodes port 31338.
If that fails to bind, try a few more (up to 31499) before giving up.

ext/standard/tests/network/udp4loop.phpt

index 10d36ed73fc7f3b8ec0b12aea7c7ebd96be34f16..3f78df267ae8808bc551dcf653fd3d71be6be061 100644 (file)
@@ -3,13 +3,17 @@ Streams Based IPv4 UDP Loopback test
 --FILE--
 <?php
        /* Setup socket server */
-       $server = stream_socket_server('udp://127.0.0.1:31338', $errno, $errstr, STREAM_SERVER_BIND);
+       for ($port = 31338; $port < 31500; ++$port) {
+         $uri = "udp://127.0.0.1:$port";
+         $server = @stream_socket_server($uri, $errno, $errstr, STREAM_SERVER_BIND);
+         if ($server) break;
+       }
        if (!$server) {
-               die('Unable to create AF_INET socket [server]');
+               die('Unable to create AF_INET socket [server]: ' . $errstr);
        }
 
        /* Connect to it */
-       $client = stream_socket_client('udp://127.0.0.1:31338');
+       $client = stream_socket_client($uri);
        if (!$client) {
                die('Unable to create AF_INET socket [client]');
        }