Hello,

> Author: brbarret
> Date: 2007-07-18 16:23:45 EDT (Wed, 18 Jul 2007)
> New Revision: 15492
> URL: https://svn.open-mpi.org/trac/ompi/changeset/15492
>
> Log:
> add ability to have thread-specific data on windows, pthreads, solaris
> threads,
> and non-threaded builds
>
> +int
> +opal_tsd_key_create(opal_tsd_key_t *key,
> +                    opal_tsd_destructor_t destructor)
> +{
> +    int i;
> +
> +    if (!atexit_registered) {
> +        atexit_registered = true;
> +        if (0 != atexit(run_destructors)) {
> +            return OPAL_ERR_TEMP_OUT_OF_RESOURCE;
> +        }
> +    }
> +
> +    for (i = 0 ; i < TSD_ENTRIES ; ++i) {
> +        if (entries[i].used == false) {
> +            entries[i].used = true;
> +            entries[i].value = NULL;
> +            entries[i].destructor = destructor;
> +            *key = i;
               break;
> +        }
> +    }
> +    if (i == TSD_ENTRIES) return ENOMEM;
> +
> +    return OPAL_SUCCESS;
> +}

Bert

Reply via email to