[PHP-DEV] Re: TSRMLS_D/C persistence

2006-07-01 Thread Sara Golemon
That also implies then that if I create a handler for eg: an external stream/file, and keep it as a singleton instance in the extension, then it could be reasonably called by any number of different threads. There's a plan B though. void foo(int bar) { } foo() doesn't have room for trms_ls in

[PHP-DEV] Re: TSRMLS_D/C persistence

2006-06-30 Thread Sara Golemon
How long are the TSRMLS_D/C parameters good for? The life of a given thread. Can the resultant tsrm_ls value be safely stored? Yes, but only during the life of a thread. For practical purposes, you should consider this to mean the life of a request since there is no guarantee that subseque

[PHP-DEV] Re: TSRMLS_D/C persistence

2006-06-30 Thread l0t3k
Andrew, i've only skimmed your question, and at the risk of being irrelevant ... check out http://cvs.php.net/viewvc.cgi/php-src/ext/unicode/property.c?revision=1.14&view=markup and search for PHP_FUNCTION(char_enum_names). Pay attention to the macro TSRMLS_SET_CTX(ectx.thread_ctx)in that