Multithreaded Programming Guide

pthread_setspecific Return Values

pthread_setspecific() returns zero after completing successfully. Any other return value indicates that an error occurred. When any of the following conditions occur, pthread_setspecific() fails and returns the corresponding value.


ENOMEM

Description:

Insufficient virtual memory is available.


EINVAL

Description:

key is invalid.


Note –

pthread_setspecific() does not free its storage when a new binding is set. The existing binding must be freed, otherwise a memory leak can occur.