[eside-ghost] Pthreads
David Buján Carballal
dbujan en eside.deusto.es
Mar Sep 15 19:21:48 CEST 2009
¿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.
Más información sobre la lista de distribución eside-ghost