/
vshmidt
/
php
Обзор
Документация
Войти
/
vshmidt
/
php
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ext/pgsql/tests/inc/nonblocking.inc
37 строк
991 B
KentarouTakeda
ext/pgsql: Refactor tests (#12608)
07 ноя 2023, 01:36
Не верифицирован
07 ноя 2023, 01:36
c15988a
Код
Авторство
О чём код?
<?php function nb_is_readable($stream, $timeout = 1) { $r = [$stream]; $w = []; $e = []; return (bool) stream_select($r, $w, $e, $timeout, 0); }; function nb_is_writable($stream, $timeout = 1) { $r = []; $w = [$stream]; $e = []; return (bool) stream_select($r, $w, $e, $timeout, 0); }; function nb_flush($db, $db_socket) { while (TRUE) { if (! nb_is_writable($db_socket)) { continue; } $flush = pg_flush($db); if ($flush === TRUE) { break; // All data flushed } elseif ($flush === FALSE) { echo "pg_flush() error\n"; break; } } }; function nb_consume($db, $db_socket) { while (TRUE) { if (!nb_is_readable($db_socket)) { continue; } elseif (!pg_consume_input($db)) { echo "pg_consume_input() error\n"; break; } elseif (!pg_connection_busy($db)) { break; // All data consumed } } };