diff options
author | Dmitry Stogov <dmitry@zend.com> | 2017-11-01 15:19:31 +0300 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2017-11-01 15:19:31 +0300 |
commit | 67d5f39a47b15e28293d9d6558b80ded049179fe (patch) | |
tree | e8f11a2a68bb06f259e8e3eeed5b102884df9fa6 /ext/interbase/interbase.c | |
parent | f5664a149260ed4a83aa5cfb13ad11ed18c56af6 (diff) | |
download | php-git-67d5f39a47b15e28293d9d6558b80ded049179fe.tar.gz |
Persistent resources are "thread-local".
Register persistent resources through new functions zend_register_persistent_resource()/zend_register_persistent_resource_ex().
Diffstat (limited to 'ext/interbase/interbase.c')
-rw-r--r-- | ext/interbase/interbase.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/ext/interbase/interbase.c b/ext/interbase/interbase.c index f944c0e4c4..e777962f53 100644 --- a/ext/interbase/interbase.c +++ b/ext/interbase/interbase.c @@ -991,18 +991,13 @@ static void _php_ibase_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent) /* ib_link = (ibase_db_link *) emalloc(sizeof(ibase_db_link)); RETVAL_RES(zend_register_resource(ib_link, le_link)); } else { - zend_resource new_le; - ib_link = (ibase_db_link *) malloc(sizeof(ibase_db_link)); if (!ib_link) { RETURN_FALSE; } /* hash it up */ - new_le.type = le_plink; - new_le.ptr = ib_link; - if (zend_hash_str_update_mem(&EG(persistent_list), hash, sizeof(hash)-1, - (void *) &new_le, sizeof(zend_resource)) == NULL) { + if (zend_register_persistent_resource(hash, sizeof(hash)-1, ib_link, le_plink) == NULL) { free(ib_link); RETURN_FALSE; } |