Re: How do I save TSRMLS_CACHE for a new thread in PHP7?

From: Date: Wed, 25 Nov 2015 16:46:35 +0000
Subject: Re: How do I save TSRMLS_CACHE for a new thread in PHP7?
References: 1  Groups: php.pecl.dev 
Request: Send a blank email to pecl-dev+get-13357@lists.php.net to get a copy of this message
What do I do now? On Sun, 22 Nov 2015 11:42:45 +0500 Ruslan Osmanov <rrosmanov@gmail.com> wrote: > 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: [application/pgp-signature] signature.asc
« previous php.pecl.dev (#13357) next »