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 function, and the macro 
TSRMLS_FETCH_FROM_CTX(ctx->thread_ctx);in the callback 
php_enum_char_type_range()l0t3k


""Andrew MatherBt"" <[EMAIL PROTECTED]> wrote in message 
news:[EMAIL PROTECTED]
>
> How long are the TSRMLS_D/C parameters good for?
>
> Can the resultant tsrm_ls value be safely stored?
>
> I presume the answer is no, and these paramters
> should be passed in each time a function is called,
> but I would be curious to know differently, if for example
> it could be passed in once at (external object) creation time,
> and that object could use the trsm_ls directly, rather than the
> TSRMLS_D/C semantics.
>
> ...
>
> Otherwise it seems clear that an external object outside php
> cannot use php semantics, so cannot use the php_stream wrappers.
>
> ...
>
> That being the case, an external object (referenced from within eg:
> a php extension) must either:
>
> a. be able to ignore php-streams and use system streams directly
> (not obviously apparent, given errors experienced to date)
> or
>
> b. cannot use system streams when calls originate from php/extensions,
> (in which case no 3rd party objects which access streams are reliable in
> php/extensions)
>
> Clearly a. is more desirable than b. , despite the fact that an apparently
> reliable 3rd party object did generate errors when called from within a
> php-extension.
>
> ---
>
> This is my third attempt to ask for a clear answer as to whether a. or b.
> is correct, so hopefully someone will notice, has the answer, and can 
> respond.
>
> Cheers,
>
> Andrew. 

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to