C/Visual C - Cancelación de Threads

 
Vista:

Cancelación de Threads

Publicado por Cris_Y (6 intervenciones) el 04/08/2010 17:36:19
Hola buenas :)

Escribía para ver si alguno me podría solucionar mi problema.

Tengo un programa principal que crea 3 threads (T1, T2 y T3).

Lo que quiero hacer y no sé por qué no me sale es que cuando T3 termine, cancele a los otros dos threads. Para ello en T1 y T2 utilizo la función "pthread_testcancel()" (habiéndolos habilitado para poder ser cancelados con

"pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, NULL);
pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);" (a pesar de ser éstas las opciones por defecto))

Cuando se ejecuta en el T3 la cancelación de los hilos T1 y T2 como "pthread_cancel(T1/T2)", éste se cancela correctamente, pero no se cancelan T1 y T2.

¿Alguna idea de por qué no funciona?

Muchas gracias,

Cris

P.D. Los join de los tres threads los tengo en el programa principal. ¿Puede ser eso?.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder