From 07af6ba898e8fb6402643f12ccb769c5466698ad Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Sat, 23 Jul 2016 00:00:13 +0200 Subject: 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 :/ --- Zend/zend_language_scanner.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Zend/zend_language_scanner.h') 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; -- cgit v1.2.1