On 5 April 2012 11:59, Jan Kiszka <jan.kis...@siemens.com> wrote: > +/* Returns true if condition was signals, false if timed out. */ > +bool qemu_cond_timedwait(QemuCond *cond, QemuMutex *mutex, > + unsigned int timeout_ms) > +{ > + struct timespec ts; > + struct timeval tv; > + int err; > + > + gettimeofday(&tv, NULL); > + ts.tv_sec = tv.tv_sec + timeout_ms / 1000; > + ts.tv_nsec = tv.tv_usec * 1000 + timeout_ms % 1000; > + if (ts.tv_nsec > 1000000000) { > + ts.tv_sec++; > + ts.tv_nsec -= 1000000000; > + } > + err = pthread_cond_timedwait(&cond->cond, &mutex->lock, &ts);
Use clock_gettime() and avoid the need to convert a struct timeval to a struct timespec ? -- PMM