Hi,

suppose we are using Zend API in a new thread (created by extension).
The problem that Zend API context(ZEND_TSRMLS_CACHE) is a thread-local
variable. 

I'm looking for a way to pass ZEND_TSRMLS_CACHE to my thread. I'm used
to use TSRMLS_FETCH_FROM_CTX(thread_data) and
TSRMLS_SET_CTX(thread_data) in previous PHP versions. Now, in PHP7 they
are not working - _tsrm_ls_cache is equal to zero within thread
function:

(gdb) print _tsrm_ls_cache
void* 0x0

Well, as I've mentioned, I'm aware of that ZEND_TSRMLS_CACHE is a
thread-local variable. Probably, the OS kernel took care of keeping
thread-local data thread-local, and that's why I can't access the
"saved" thread context.

But then how am I supposed to use Zend API working with ZTS in my own
thread?

Thanks.

-- 
Ruslan Osmanov

Attachment: signature.asc
Description: PGP signature

Reply via email to