ID:               44348
 Comment by:       p_christ at hol dot gr
 Reported By:      p_ christ at hol dot gr
 Status:           Open
 Bug Type:         Feature/Change Request
 Operating System: Linux
 PHP Version:      5.2.5
 New Comment:

/* {{{ 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);
}
/* }}} */


Previous Comments:
------------------------------------------------------------------------

[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 http://bugs.php.net/?id=44348&edit=1

Reply via email to