On Mon, Jun 11, 2012 at 07:21:00PM +0000, Hans Petter Selasky wrote: > Author: hselasky > Date: Mon Jun 11 19:20:59 2012 > New Revision: 236909 > URL: http://svn.freebsd.org/changeset/base/236909 > > Log: > Use the correct clock source when computing timeouts.
Could you please explain why? As you can see some lines above in
cv_init(), we initialize condition variable with CLOCK_MONOTONIC too:
error = pthread_condattr_setclock(&attr, CLOCK_MONOTONIC);
> MFC after: 1 week
>
> Modified:
> head/sbin/hastd/synch.h
>
> Modified: head/sbin/hastd/synch.h
> ==============================================================================
> --- head/sbin/hastd/synch.h Mon Jun 11 19:09:55 2012 (r236908)
> +++ head/sbin/hastd/synch.h Mon Jun 11 19:20:59 2012 (r236909)
> @@ -168,7 +168,7 @@ cv_timedwait(pthread_cond_t *cv, pthread
> return (false);
> }
>
> - error = clock_gettime(CLOCK_MONOTONIC, &ts);
> + error = clock_gettime(CLOCK_REALTIME, &ts);
> PJDLOG_ASSERT(error == 0);
> ts.tv_sec += timeout;
> error = pthread_cond_timedwait(cv, lock, &ts);
--
Pawel Jakub Dawidek http://www.wheelsystems.com
FreeBSD committer http://www.FreeBSD.org
Am I Evil? Yes, I Am! http://tupytaj.pl
pgpf0p5wmnsgh.pgp
Description: PGP signature
