summaryrefslogtreecommitdiff
path: root/ext/yaz/php_yaz.c
diff options
context:
space:
mode:
authorAdam Dickmeiss <dickmeiss@php.net>2003-05-14 22:18:12 +0000
committerAdam Dickmeiss <dickmeiss@php.net>2003-05-14 22:18:12 +0000
commit58040bfd33dde71d099520888a246c89f92c3cdb (patch)
tree27f51faf98d5ce90c22ba8cbf0cd92bfbeb85043 /ext/yaz/php_yaz.c
parenteeb3bd80eb214b5982a5d39be2c0d410bf7e9754 (diff)
downloadphp-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.c6
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);