tss_delete
|
Definido en el encabezado
<threads.h>
|
||
|
void
tss_delete
(
tss_t
tss_id
)
;
|
(desde C11) | |
Destruye el almacenamiento específico del hilo identificado por
tss_id
.
El destructor, si uno fue registrado por
tss_create
, no es llamado (solo son llamados al finalizar el hilo, ya sea mediante
thrd_exit
o al retornar de la función del hilo), es responsabilidad del programador asegurar que cada hilo que conoce
tss_id
realizó toda la limpieza necesaria, antes de que se realice la llamada a
tss_delete
.
Si
tss_delete
se llama mientras otro hilo está ejecutando destructores para
tss_id
, no está especificado si esto cambia el número de invocaciones al destructor asociado.
Si
tss_delete
se llama mientras el hilo que realiza la llamada está ejecutando destructores, entonces el destructor asociado con
tss_id
no se ejecutará nuevamente en este hilo.
Contenidos |
Parámetros
| tss_id | - | clave de almacenamiento específica del hilo previamente devuelta por tss_create y aún no eliminada por tss_delete |
Valor de retorno
(ninguno)
Notas
El equivalente POSIX de esta función es
pthread_key_delete
.
La razón por la cual
tss_delete
nunca llama a los destructores es que los destructores (llamados al finalizar el hilo) normalmente están destinados a ser ejecutados por el mismo hilo que originalmente estableció el valor (mediante
tss_set
) con el que el destructor trabajará, e incluso pueden depender de los valores de ese u otros datos específicos del hilo según los ve ese hilo. El hilo que ejecuta
tss_delete
no tiene acceso al TSS de otros hilos. Incluso si fuera posible llamar al destructor para el valor propio de cada hilo asociado con
tss_id
,
tss_delete
tendría que sincronizarse con cada hilo aunque solo fuera para examinar si el valor de este TSS en ese hilo es nulo (los destructores solo se llaman para valores no nulos).
Ejemplo
|
Esta sección está incompleta
Razón: sin ejemplo |
Referencias
- Estándar C17 (ISO/IEC 9899:2018):
-
- 7.26.6.2 La función tss_delete (p: 282)
- Estándar C11 (ISO/IEC 9899:2011):
-
- 7.26.6.2 La función tss_delete (p: 386)