]> granicus.if.org Git - php/commitdiff
Don't expect a certain server reply, it is undefined what happens.
authorUlf Wendel <uw@php.net>
Fri, 28 Jan 2011 13:41:02 +0000 (13:41 +0000)
committerUlf Wendel <uw@php.net>
Fri, 28 Jan 2011 13:41:02 +0000 (13:41 +0000)
ext/mysqli/tests/mysqli_no_reconnect.phpt

index 0fbc1ffbbd49f593596ca6be7e56c2ec4a282806..653c672077206c5a0aaca9237bebfdad8a1f005d 100644 (file)
@@ -78,18 +78,23 @@ mysqli.reconnect=0
                        mysqli_connect_errno(), mysqli_connect_error());
 
        $thread_id_timeout = mysqli_thread_id($link);
+       /*
+         Don't test for the mysqli_query() return value here.
+         It is undefined if the server replies to the query and how.
+         For example, it seems that on Linux when connecting to MySQL 5.1,
+         the server always manages to send a full a reply. Whereas MySQl 5.5
+         may not. The behaviour is undefined. Any return value is fine.
+       */
        if ($IS_MYSQLND) {
-               /* 
+               /*
                mysqlnd is a bit more verbose than libmysql. mysqlnd should print:
                Warning: mysqli_query(): MySQL server has gone away in %s on line %d
 
                Warning: mysqli_query(): Error reading result set's header in %d on line %d
                */
-               if (!@mysqli_query($link, sprintf('KILL %d', $thread_id_timeout)))
-                       printf("[013] Cannot KILL timeout connection, [%d] %s\n", mysqli_errno($link2), mysqli_error($link2));
+               @mysqli_query($link, sprintf('KILL %d', $thread_id_timeout));
        } else {
-               if (!mysqli_query($link, sprintf('KILL %d', $thread_id_timeout)))
-                       printf("[013] Cannot KILL timeout connection, [%d] %s\n", mysqli_errno($link2), mysqli_error($link2));
+               mysqli_query($link, sprintf('KILL %d', $thread_id_timeout));
        }
        // Give the server a second to really kill the other thread...
        sleep(1);