buenas de nuevo...
toy teniendo un problema con una aplicacion q usa pthread
tengo una aplicacion con muchos hilos, con un hilo que se ocupa solo de fijarse 
si el usuario teclea una X para abortar el programa
(estoy encapsulando pthread en una clase Thread)
el codigo que ejecuta el hilo ThreadConsola  seria el siguiente:

while (!_mustStop) {
    if (toupper(getchar()) == 'X') {
      _mustStop = true;
      _cerrar = true;
      std::cout << "Cerrar xq toco X" << std::endl;
    }
  }

_mustStop es una variablede la clase Thread que solo encapsula pthread, usada 
para poder realizar un stop() desde afuera
_cerrar es atributo de ThreadConsola  para marcar si se aborto el programa


desde el main hago lo siguiente:

ThreadConsola thConsola;
  if (thConsola) {
    thConsola.run(); //LINEA 28 de client_main.cpp
    while (!thConsola.getCerrar()) {
    }
    thConsola.stop();    
    thConsola.join();

el run() llama el pthread_create
el join() llama pthread_join

cuando lo corro con valgrind el programa termina pero me tira el siguiente error
72 bytes in 1 blocks are possibly lost in loss record 2 of 2
==30428==    at 0x401C6CA: calloc (vg_replace_malloc.c:279)
==30428==    by 0x400E188: (within /lib/ld-2.3.6.so)
==30428==    by 0x400E24B: _dl_allocate_tls (in /lib/ld-2.3.6.so)
==30428==    by 0x414881F: pthread_create@@GLIBC_2.1 (in 
/lib/tls/i686/cmov/libpthread-2.3.6.so)
==30428==    by 0x804ABC2: Thread::run() (common_thread.cpp:23)
==30428==    by 0x8049293: ImprimirSimulacion(std::string const&, unsigned 
short const&) (client_main.cpp:28)
==30428==    by 0x80494B0: main (client_main.cpp:49)

o sea, se queja de q no libero memoria al hacer el pthread_create() dentro de 
thConsola.run(); 

la verdad q recien empiezo con el tema threads, por lo q no la tengo clara...
no se si estoy haciendo las cosas bien
lo que me trae dudas es que hace el join en este caso, xq el getchar es 
"blockeante"
espero q el codigo sea suficiente para saber el origen del problema
gracias adelantadas
saludos
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion

Responder a