From: Ulf Wendel Date: Fri, 28 Jan 2011 13:41:02 +0000 (+0000) Subject: Don't expect a certain server reply, it is undefined what happens. X-Git-Tag: php-5.3.6RC1~62 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0b474317fd80d267c57838253244a5eb63ef9666;p=php Don't expect a certain server reply, it is undefined what happens. --- diff --git a/ext/mysqli/tests/mysqli_no_reconnect.phpt b/ext/mysqli/tests/mysqli_no_reconnect.phpt index 0fbc1ffbbd..653c672077 100644 --- a/ext/mysqli/tests/mysqli_no_reconnect.phpt +++ b/ext/mysqli/tests/mysqli_no_reconnect.phpt @@ -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);