Fix 29nb_async_connect.phpt

Intermediate states are unreliable across versions (I think), make
sure we go through the whole connect procedure.
This commit is contained in:
Nikita Popov 2019-04-10 13:06:02 +02:00
parent c7a86a38a3
commit 8f13599a64

View file

@ -23,18 +23,20 @@ if (!$db = pg_connect($conn_str, PGSQL_CONNECT_ASYNC)) {
while (TRUE) { while (TRUE) {
switch ($status = pg_connect_poll($db)) { switch ($status = pg_connect_poll($db)) {
case PGSQL_POLLING_READING: case PGSQL_POLLING_READING:
if (nb_is_readable($db_socket)) { break 2; } nb_is_readable($db_socket);
break; break;
case PGSQL_POLLING_WRITING: case PGSQL_POLLING_WRITING:
if (nb_is_writable($db_socket)) { break 2; } nb_is_writable($db_socket);
break; break;
case PGSQL_POLLING_FAILED: case PGSQL_POLLING_FAILED:
die("async connection failed"); die("async connection failed");
case PGSQL_POLLING_OK: case PGSQL_POLLING_OK:
break 2; break 2;
default:
die("unknown poll status");
} }
} }
assert(pg_connection_status($db) === PGSQL_CONNECTION_MADE); assert(pg_connection_status($db) === PGSQL_CONNECTION_OK);
echo "OK"; echo "OK";
pg_close($db); pg_close($db);