Pablo,
Todo lo claro que tenia la consulta anterior lo tiene de confuso
esta...Te respondo a lo que entendi y sospecho estas haciendo
mal...(borro tu mail para q no me acusen de topposting)
Sobre si el Thread debe hacer join al llamar al destructor la
respuesta es depende si el thread ya termino de correr o no. Si
implementas un booleano de estoy_vivo y en el destructor haces un:
if(estoy_vivo){
stop();
join();
}
Deberia funcionarte en todas las circunstancias, de todos modos
esto seria un mecanismo de proteccion adicional, no es una buena
practica que alguien llame al delete de un Thread que esta
corriendo...te explico por que:
Si A hereda de Thread. A va a estar corriendo sus cosas y
tendra implementado un destructor virtual...ahora alguien le hace
delete, se llama a ~A y despues a ~Thread...este ultimo hace el stop y
join para esperar que termine, pero A va a estar corriendo despues de
que se llamo a ~A...lo que puede ser desastroso. En definitiva, tenes
que tener cuidado con los threads no solo desde adentro de la clase
sino tambien lo que haces desde afuera con ella.
Sobre la memoria posibly lost creo que se refiere a una memoria
alocada por el thread mismo...si mal no recuerdo pthread requiere que
llames a una funcion para liberarla...la verdad no lo recuerdo en este
momento. Si alguno lo tiene presente....
Saludos
PD: Cuando quieras superar la etapa de debuguear con cartelitos....'gdb'
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion