summaryrefslogtreecommitdiff
path: root/Zend/zend_language_scanner.h
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2016-07-23 00:00:13 +0200
committerNikita Popov <nikic@php.net>2016-07-23 00:00:13 +0200
commit07af6ba898e8fb6402643f12ccb769c5466698ad (patch)
tree809573592e8cbf8c3363ce4130096442b95d6a39 /Zend/zend_language_scanner.h
parent40b312d4c2d129f2085af585566fa417b43419e8 (diff)
downloadphp-git-07af6ba898e8fb6402643f12ccb769c5466698ad.tar.gz
Make sure TOKEN_PARSE mode is thread safe
Introduce an on_event_context passed to the on_event hook. Use this context to pass along the token array. Previously this was stored in a non-tls global :/
Diffstat (limited to 'Zend/zend_language_scanner.h')
-rw-r--r--Zend/zend_language_scanner.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/Zend/zend_language_scanner.h b/Zend/zend_language_scanner.h
index d76fdc2ac7..d8f4185ed3 100644
--- a/Zend/zend_language_scanner.h
+++ b/Zend/zend_language_scanner.h
@@ -51,7 +51,8 @@ typedef struct _zend_lex_state {
const zend_encoding *script_encoding;
/* hooks */
- void (* on_event)(zend_php_scanner_event event, int token, int line);
+ void (*on_event)(zend_php_scanner_event event, int token, int line, void *context);
+ void *on_event_context;
zend_ast *ast;
zend_arena *ast_arena;