Sets the value of the thread-specific storage identified by tss_id
for the current thread to val
. Different threads may set different values to the same key.
The destructor, if available, is not invoked.
[edit] Parameters tss_id - thread-specific storage key, obtained from tss_create and not deleted by tss_delete val - value to set thread-specific storage to [edit] Return valuethrd_success if successful, thrd_error otherwise.
[edit] NotesThe POSIX equivalent of this function is pthread_setspecific
.
Typically TSS is used to store pointers to blocks of dynamically allocated memory that have been reserved for use by the calling thread.
tss_set
may be called in the TSS destructor. If the destructor exits with non-NULL value in the TSS storage, it will be retried by thrd_exit up to TSS_DTOR_ITERATIONS times, after which the storage will be lost.
int thread_func(void *arg) { tss_t key; if (thrd_success == tss_create(&key, free)) { tss_set(key, malloc(4)); // stores a pointer on TSS // ... } } // calls free() for the pointer stored on TSS[edit] References
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4