[eside-ghost] Pthreads

Iker Perez de Albeniz - Txupete - txupete en gmail.com
Mie Sep 16 09:08:48 CEST 2009


voy a porbar con pthread_setcanceltype( a ver si el tema mejora...


gracias!

2009/9/15 David Buján Carballal <dbujan en eside.deusto.es>

> ¿No funciona esto?
>
> pthread_t hilo,
> pthread_attr_t atributos;
>
> void tratarConexion( TIPO-DATO* datosConexion );
>
> /* En el "main" */
>
>   if ( pthread_attr_init( &atributos ) != 0 ) {
>      perror( "En creación de estructura de atributos." );
>      exit( -1 );
>   }
>
>   if ( pthread_attr_setdetachstate( &atributos,
> PTHREAD_CREATE_DETACHED ) != 0 ) {
>      perror( "En el cambio de atributos." );
>      exit( -1 );
>   }
>
>   TIPO-DATO* datosConexion = ...
>
>   pthread_create( &hilo, &atributos, (void *) tratarConexion, (void
> *) datosConexion );
>
>
>
> *************************************************************************************
>
>
> Luego dentro de la función "tratarConexion" que ejecuta cada hilo
> puedes cambiar el estado de algunos atributos, como por ejemplo si son
> "cancelables" o no y de qué tipo:
>
>    pthread_setcancelstate( PTHREAD_CANCEL_DISABLE, NULL );
>
>    pthread_setcancelstate( PTHREAD_CANCEL_ENABLE, NULL );
>   /* Tratamiento por defecto */
>    pthread_setcanceltype( PTHREAD_CANCEL_ASYNCHRONOUS, NULL );
>   /* Cancelación inmediata */
>
>    pthread_setcancelstate( PTHREAD_CANCEL_ENABLE, NULL );
>   /* Tratamiento por defecto */
>    pthread_setcanceltype( PTHREAD_CANCEL_DEFERRED, NULL );
>   /* Cancelación diferida */
>    pthread_testcancel();
>   /* Hasta que el punto del código en el que pones esta llamada */
>
> Más info en: http://opengroup.org/onlinepubs/007908799/xsh/pthread.h.html
>
> --
> David Buján Carballal
> Facultad de Ingeniería - ESIDE (Universidad de Deusto)
> Avenida de las universidades 24. 48007 Bilbao, Bizkaia (SPAIN)
> email: dbujan en eside.deusto.es
> URL: http://paginaspersonales.deusto.es/dbujan
> Tel.: +34-944-139-000 ext. 2797
> Fax.: +34-944-139-101
>
> "No todas las personas pueden ser ilustres; pero todas pueden ser buenas.
> Not
> everyone can be illustrious, but they all can be good."
>
> "Buenas palabras y buenos modos cuestan poco y agradan a todos. Good words
> and
> good manners are cheap and please everybody."
>
> ----------------------------------------------------------------
> This message was sent using IMP, the Internet Messaging Program.
>
>
> _______________________________________________
> 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/20090916/38b21da3/attachment.htm 


Más información sobre la lista de distribución eside-ghost