[eside-ghost] Pthreads
Iker Perez de Albeniz - Txupete -
txupete en gmail.com
Mar Sep 15 14:59:46 CEST 2009
2009/9/15 Jon Valdés <juanval en gmail.com>
> Si no recuerdo mal, los threads se pueden crear en modo detached, que
> hace que no haga falta hacer el join al final, y el thread se destruye
> automáticamente.
>
eso he estado intentando... con un atributo.. como se podria hacer de otra
forma ??
pthread_create(......);
pthread_detached(pthread_id);
¿asi?
>
> Y lo que dice jonan: la variable data mas vale que la borres desde
> dentro de la rutina del thread, porque si no ahi tienes un buen leak.
>
>
si, al final del threar la borro. ese no es el problema.
> Un saludoooo
>
> 2009/9/15 Iker Perez de Albeniz - Txupete - <txupete en gmail.com>:
> > He probado con pthread_join() y que espere q ue se termine el thread y
> > parece que el leak desaparece... pero al final es como si tubiera un solo
> > thread...
> >
> > 2009/9/15 Jon Ander Ortiz <jonbaine en gmail.com>
> >>
> >> Buenas Iker!!
> >>
> >> Ante todo, comentar que los threads son una buena manera de dispararse a
> >> un pie [1,2] :D
> >>
> >> Sobre el error de pthread_detach, el lugar donde deberías llamarla (una
> >> sola vez), debería de ser
> >> tras el pthread_create. ¿Como la estás llamanado para que te pete?
> >>
> >> Sobre el crecimiento de la memoria:
> >>
> >> * LO PRIMERO DE TODO: No destruyes "data". A primera vista tienes un
> leak.
> >> En un for infinito.
> >> Pasale el valgrind que te va pegar un chillido de los buenos en cada
> bucle
> >> si tienes un leak ahí.
> >>
> >> * Cuando la función llamada en pthread_create, termina, se produce un
> >> pthread_exit implícito, y
> >> la memoria asociada a dicho thread (stack y las variables TLS [3] ) se
> >> liberan. Si estás llamando explicitamente
> >> a esta función desde algún destructor, o alguna cosa rara puede ser el
> >> origen de tus problemas.
> >>
> >> Un saludete:
> >> Jonan
> >>
> >>
> >> [1]http://badtux.org/home/eric/editorial/threads.php
> >> [2]http://www.kuro5hin.org/story/2002/11/18/22112/860
> >> [3]http://en.wikipedia.org/wiki/Thread-local_storage
> >>>
> >>> _______________________________________________
> >>> eside-ghost mailing list
> >>> eside-ghost en listas.deusto.es
> >>> https://listas.deusto.es/mailman/listinfo/eside-ghost
> >>
> >>
> >> _______________________________________________
> >> eside-ghost mailing list
> >> eside-ghost en listas.deusto.es
> >> https://listas.deusto.es/mailman/listinfo/eside-ghost
> >
> >
> > _______________________________________________
> > eside-ghost mailing list
> > eside-ghost en listas.deusto.es
> > https://listas.deusto.es/mailman/listinfo/eside-ghost
> >
> _______________________________________________
> eside-ghost mailing list
> eside-ghost en listas.deusto.es
> https://listas.deusto.es/mailman/listinfo/eside-ghost
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: https://listas.deusto.es/mailman/private/eside-ghost/attachments/20090915/51b22d40/attachment-0001.htm
Más información sobre la lista de distribución eside-ghost