Buenas!<br><br>Estoy con un programa en el que necesito que un cierto hilo se suspenda durante un tiempo X. Para ello tenemos que utilizar la función <code><tt>nt pthread_cond_timedwait(pthread_cond_t *restrict</tt> <i>cond</i><tt>, pthread_mutex_t *restrict</tt> <i>mutex</i><tt>, const struct timespec *restrict</tt> <i>abstime</i><tt>);</tt></code><br>
<br>La cual devuelve el error ETIMEDOUT si se supera el tiempo indicado por abstime y no se ha despertado el hilo. Mis dudas son:<br><br>1) ¿Cómo puedo especificar, mediante el tercer argumento, que espere por ejemplo 0.5 s? Creo la estructura, la cual tiene dos atributos, tv_sec y tv_nsec, pero si pongo tv_sec=0.5 no parece funcionar bien.<br>
<br>2) ¿Cómo puedo capturar el error ETIMEDOUT? Lo hago con un if (pthread_cond_timedwait(&variable, &mutex, &tiempo)==ETIMEDOUT) { codigo } pero al compilar me dice que ETIMEDOUT no está definida (he incluido las cabeceras pthread.h y time.h sin embargo sigue saliendo ese error... ¿Debo añadir la cabecera errno.h?.<br>
<br>Muchas gracias!<br clear="all"><br>-- <br>======================<br> Javier Cancio del Busto<br>======================<br> <a href="http://tuxete.wordpress.com">http://tuxete.wordpress.com</a> <br>======================<br>