Req #44348 [Opn->Fbk]: Wait for Postgres notifications

From: Date: Thu, 05 Aug 2021 11:31:15 +0000
Subject: Req #44348 [Opn->Fbk]: Wait for Postgres notifications
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-235609@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=44348&edit=1 ID: 44348 Updated by: cmb@php.net Reported by: p_ christ at hol dot gr Summary: Wait for Postgres notifications -Status: Open +Status: Feedback Type: Feature/Change Request Package: PostgreSQL related Operating System: Linux PHP Version: 5.2.5 -Assigned To: +Assigned To: cmb Block user comment: N Private report: N New Comment: Would async pgsql connections and non-blocking queries[1] (available as of PHP 5.6.0) resolve this request? [1] <https://github.com/php/php-src/pull/626> Previous Comments: ------------------------------------------------------------------------ [2008-03-06 00:35:11] p_christ at hol dot gr /* {{{ proto array pg_wait_notify([resource connection[, timeout]]) Wait for postgres activity */ PHP_FUNCTION(pg_wait_notify) { zval *pgsql_link; int id = -1; int retval = 0; int timeout = -1; struct pollfd ps; PGconn *pgsql; if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "r|l", &pgsql_link, &timeout) == FAILURE) { RETURN_FALSE; } ZEND_FETCH_RESOURCE2(pgsql, PGconn *, &pgsql_link, id, "PostgreSQL link", le_link, le_plink); ps.fd = PQsocket(pgsql); ps.events = POLLIN; ps.revents = 0; if (ps.fd<0) RETURN_FALSE; retval = poll(&ps,1,timeout); if (retval == -1) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "unable to poll : %d", errno); RETURN_FALSE; } RETURN_LONG(retval); } /* }}} */ ------------------------------------------------------------------------ [2008-03-06 00:32:52] p_ christ at hol dot gr Description: ------------ Add one more internal PHP function that will C-poll() the Postgres file descriptor for async events. ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=44348&edit=1

« previous php.bugs (#235609) next »