La función pthread_cond_timedwait necesita un tiempo absoluto en una estructura de timespec de tiempo.¿Qué función de tiempo necesito usar con pthread_cond_timedwait?
Qué función de tiempo que estoy supone que uso para obtener el tiempo absoluto. Vi un montón de ejemplos en la web y encontré la función casi todo el tiempo utilizada. (ftime, clock, gettimeofday, clock_gettime (con todos los posibles CLOCK _...).
pthread_cond_timedwait usa un tiempo absoluto. ¿Este tiempo de espera se verá afectado al cambiar el tiempo de la máquina? También si obtengo el tiempo absoluto con una de las funciones de tiempo, si el tiempo de la máquina cambia entre la obtención y la suma del tiempo delta, esto afectará el tiempo de espera? ¿Existe la posibilidad de esperar un evento con una hora relativa?
clock_gettime (CLOCK_MONOTONIC) es la manera de conseguir un tiempo que sólo está aumentando por lo tanto no afectado por el cambio de la hora del sistema. Inicializar el atributo de la condición con pthread_condattr_setclock con CLOCK_MONOTONIC hará pthread_cond_timedwait esperar con un tiempo relativo. – Vincent