On Tue, 18 Sep 2001, "lo-tek" <@pb1.pair.com cshmoove wrote:

> suppose i have a function which returns a pointer to a variable in thread
> local storage
>
> foo_t *get_global_foo()
> {
>     TSRMLS_FETCH();
>     return (foo_t *)BAR_G(foo);
> }
>
> void fubar()
> {
>     foo_t *foo = get_global_foo();
>     bar( foo );        /* possible multi-thread access */
> }
>
> is fubar then thread safe, or is TSRMLS_FETCH() (or TSRMLS_C etc) needed in
> each function needing serialized access to TLS data ?
>

    Well, your just tossing around pointers (your returning a pointer to
    an address in the global structure which is assigned to foo, which
    you then pass to bar).  So thread safety should *not* be affected.

    -Sterling


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to