diff options
author | Adam Dickmeiss <dickmeiss@php.net> | 2003-05-14 22:18:12 +0000 |
---|---|---|
committer | Adam Dickmeiss <dickmeiss@php.net> | 2003-05-14 22:18:12 +0000 |
commit | 58040bfd33dde71d099520888a246c89f92c3cdb (patch) | |
tree | 27f51faf98d5ce90c22ba8cbf0cd92bfbeb85043 /ext/yaz/php_yaz.c | |
parent | eeb3bd80eb214b5982a5d39be2c0d410bf7e9754 (diff) | |
download | php-git-58040bfd33dde71d099520888a246c89f92c3cdb.tar.gz |
Fix yaz_wait. Async mode incorrectly determine resource
Diffstat (limited to 'ext/yaz/php_yaz.c')
-rw-r--r-- | ext/yaz/php_yaz.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ext/yaz/php_yaz.c b/ext/yaz/php_yaz.c index 99fd814f1a..5bea69879b 100644 --- a/ext/yaz/php_yaz.c +++ b/ext/yaz/php_yaz.c @@ -509,6 +509,7 @@ PHP_FUNCTION(yaz_wait) int event_mode = 0; int no = 0; ZOOM_connection conn_ar[MAX_ASSOC]; + Yaz_Association conn_as[MAX_ASSOC]; int i, timeout = 15; if (ZEND_NUM_ARGS() == 1) { @@ -541,6 +542,7 @@ PHP_FUNCTION(yaz_wait) sprintf(str, "%d", timeout); ZOOM_connection_option_set(p->zoom_conn, "timeout", str); + conn_as[no] = p; conn_ar[no++] = p->zoom_conn; } } @@ -552,9 +554,11 @@ PHP_FUNCTION(yaz_wait) if (ev <= 0) { RETURN_FALSE; } else { - Yaz_Association p = shared_associations[ev-1]; + Yaz_Association p = conn_as[ev-1]; int event_code = ZOOM_connection_last_event(p->zoom_conn); + add_assoc_long(*pval_options, "connid", ev); + add_assoc_long(*pval_options, "eventcode", event_code); zend_list_addref(p->zval_resource); |