Print this page
11586 NAME field in man pages should match what's installed
*** 1,9 ****
TSS(3C) Standard C Library Functions TSS(3C)
NAME
! tss, tss_create, tss_destroy, tss_get, tss_set - thread-specific storage
SYNOPSIS
#include <threads.h>
typedef void (*tss_dtor_t)(void *);
--- 1,9 ----
TSS(3C) Standard C Library Functions TSS(3C)
NAME
! tss, tss_create, tss_delete, tss_get, tss_set - thread-specific storage
SYNOPSIS
#include <threads.h>
typedef void (*tss_dtor_t)(void *);
*** 22,37 ****
DESCRIPTION
The tss family of functions create, get, set, and destroy thread-specific
storage.
! Creating and Destorying Thread-Specific Storage
The tss_create() function creates a new thread-specific data key. The
key space is opaque and global to all threads in the process. Each
thread has its own value-space which can be manipulated with the
tss_get() and tss_set() functions. A given key persists until
! tss_destroy() is called.
When a key is created, the value NULL is associated with all current
threads. When a thread is created, the value NULL is assigned as the
value for the entire key-space.
--- 22,37 ----
DESCRIPTION
The tss family of functions create, get, set, and destroy thread-specific
storage.
! Creating and Destroying Thread-Specific Storage
The tss_create() function creates a new thread-specific data key. The
key space is opaque and global to all threads in the process. Each
thread has its own value-space which can be manipulated with the
tss_get() and tss_set() functions. A given key persists until
! tss_delete() is called.
When a key is created, the value NULL is associated with all current
threads. When a thread is created, the value NULL is assigned as the
value for the entire key-space.
*** 42,64 ****
signals will be blocked.
The tss_delete() function deletes the key identify by key from the global
name-space. When a key is deleted, no registered destructor is called,
it is up to the calling program to free any storage that was associated
! with key across all threads. Because of this propety, it is legal to
call tss_delete() from inside a destructor. Any destructors that had
! been assocaited with key will no longer be called when a thread
terminates.
Obtaining Values
The tss_get() function may be used to obtain the value associated with
key for the calling thread. Note that if the calling thread has never
set a value, then it will receive the default value, NULL. tss_get() may
be called from a tss destructor.
Setting Values
! The tss_set() function sets the value of the key key for the callling
thread to value, which may be obtained by subsequent calls to tss_get.
To remove a value for a specific thread, one may pass NULL in as value.
Changing the value of a key with tss_set() does not cause any destructors
to be invoked. This means that tss_set() may be used in the context of a
destructor, but special care must be taken to avoid leaking storage or
--- 42,64 ----
signals will be blocked.
The tss_delete() function deletes the key identify by key from the global
name-space. When a key is deleted, no registered destructor is called,
it is up to the calling program to free any storage that was associated
! with key across all threads. Because of this property, it is legal to
call tss_delete() from inside a destructor. Any destructors that had
! been associated with key will no longer be called when a thread
terminates.
Obtaining Values
The tss_get() function may be used to obtain the value associated with
key for the calling thread. Note that if the calling thread has never
set a value, then it will receive the default value, NULL. tss_get() may
be called from a tss destructor.
Setting Values
! The tss_set() function sets the value of the key key for the calling
thread to value, which may be obtained by subsequent calls to tss_get.
To remove a value for a specific thread, one may pass NULL in as value.
Changing the value of a key with tss_set() does not cause any destructors
to be invoked. This means that tss_set() may be used in the context of a
destructor, but special care must be taken to avoid leaking storage or
*** 82,87 ****
SEE ALSO
pthread_getspecific(3C), pthread_key_create(3C), pthread_key_delete(3C),
pthread_setspecific(3C), attributes(5)
! illumos January 11, 2015 illumos
--- 82,87 ----
SEE ALSO
pthread_getspecific(3C), pthread_key_create(3C), pthread_key_delete(3C),
pthread_setspecific(3C), attributes(5)
! illumos August 20, 2019 illumos