Estoy trabajando en un proyecto en el que tengo un hilo principal y un hilo daemon para realizar salidas de archivo. En mi hilo principal tengo un campo pthread_t * _daemon
que me gustaría eliminar, pero obviamente solo después de _daemon
devuelve NULL (entiendo que usar pthread_exit()
causa pérdidas de memoria).Eliminando un hilo daemon solo después de que devuelve
¿Cómo puedo hacerlo sin ocupado? ¿Espera? Si trato de usar una variable de condición, tengo un problema: cuando llamo al signal()
formulario _daemon
para activar mi hilo principal, borra _daemon
antes de que _daemon
devuelva NULL.
Lo que hice fue simplemente usar un bloqueo mutex que está bloqueado cuando se lanza y desbloquea el programa antes de que _daemon
regrese. ¿Hay alguna manera mejor que no cause una espera ocupada?
'pthread_join'? – Mat
No está claro lo que estás preguntando. ¿Qué es exactamente lo que le gustaría eliminar? –
El campo pthread_t, pero solo después de que el hilo del daemon almacenado allí devuelve – yotamoo