diff options
author | Xinchen Hui <laruence@gmail.com> | 2017-11-02 10:40:45 +0800 |
---|---|---|
committer | Xinchen Hui <laruence@gmail.com> | 2017-11-02 10:40:45 +0800 |
commit | 39845250f242b7739d30b4b8a287b4a6130d8fa1 (patch) | |
tree | 3f8f69284a99f7932989f2460e8d78d1757a34cf /ext/xmlreader/php_xmlreader.c | |
parent | a32e567ec8b28a7ccc0ebca9d24911788aaf853c (diff) | |
parent | a7305eb539596e175bd6c3ae9a20953358c5d677 (diff) | |
download | php-git-39845250f242b7739d30b4b8a287b4a6130d8fa1.tar.gz |
Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
Made "result", "statement" and "last_message" to always use Zend MM heap. (even for persistent connections these entities don't relive request boundary)
Fixed memory leaks
Use interned strings for "magic" property of internal classes. (not copyied into SHM)
Reverted incomplete fix and too strict asserts.
Mark persistent connection related data as "thread-local".
Persistent resources are "thread-local". Register persistent resources through new functions zend_register_persistent_resource()/zend_register_persistent_resource_ex().
PCRE cache is "thread-local"
Allow reference-counting on "thread-local" persistent zvals
Diffstat (limited to 'ext/xmlreader/php_xmlreader.c')
-rw-r--r-- | ext/xmlreader/php_xmlreader.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/ext/xmlreader/php_xmlreader.c b/ext/xmlreader/php_xmlreader.c index 40b7d462cd..392d9b19c3 100644 --- a/ext/xmlreader/php_xmlreader.c +++ b/ext/xmlreader/php_xmlreader.c @@ -61,11 +61,14 @@ typedef struct _xmlreader_prop_handler { static void xmlreader_register_prop_handler(HashTable *prop_handler, char *name, xmlreader_read_int_t read_int_func, xmlreader_read_const_char_t read_char_func, int rettype) { xmlreader_prop_handler hnd; + zend_string *str; hnd.read_char_func = read_char_func; hnd.read_int_func = read_int_func; hnd.type = rettype; - zend_hash_str_add_mem(prop_handler, name, strlen(name), &hnd, sizeof(xmlreader_prop_handler)); + str = zend_string_init_interned(name, strlen(name), 1); + zend_hash_add_mem(prop_handler, str, &hnd, sizeof(xmlreader_prop_handler)); + zend_string_release(str); } /* }}} */ |