/
vshmidt
/
php
Обзор
Документация
Войти
/
vshmidt
/
php
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ext/pgsql/tests/29nb_async_connect.phpt
48 строк
1 KB
KentarouTakeda
ext/pgsql: Refactor tests (#12608)
07 ноя 2023, 01:36
Не верифицирован
07 ноя 2023, 01:36
c15988a
Код
Авторство
О чём код?
--TEST-- PostgreSQL non-blocking async connect --EXTENSIONS-- pgsql --SKIPIF-- <?php include("inc/skipif.inc"); ?> --FILE-- <?php include('inc/config.inc'); include('inc/nonblocking.inc'); if (!$db = pg_connect($conn_str, PGSQL_CONNECT_ASYNC)) { die("pg_connect() error"); } elseif (pg_connection_status($db) === PGSQL_CONNECTION_BAD) { die("pg_connect() error"); } elseif ($db_socket = pg_socket($db)) { stream_set_blocking($db_socket, FALSE); } else { die("pg_socket() error"); } while (TRUE) { switch ($status = pg_connect_poll($db)) { case PGSQL_POLLING_READING: nb_is_readable($db_socket); break; case PGSQL_POLLING_WRITING: nb_is_writable($db_socket); break; case PGSQL_POLLING_FAILED: die("async connection failed"); case PGSQL_POLLING_OK: break 2; default: die("unknown poll status"); } } assert(pg_connection_status($db) === PGSQL_CONNECTION_OK); echo "OK"; pg_close($db); ?> --EXPECT-- OK