Author: pjd
Date: Mon Nov  1 10:41:05 2010
New Revision: 214622
URL: http://svn.freebsd.org/changeset/base/214622

Log:
  1. Remove invalid assertion.
  2. Properly recalculate delta in case pthread_cond_timedwait() is interrupted.
  3. Style fix.
  
  Reported by:  [1] App Deb <appde...@gmail.com>

Modified:
  head/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c

Modified: head/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c
==============================================================================
--- head/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c  Mon Nov  1 
08:20:14 2010        (r214621)
+++ head/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c  Mon Nov  1 
10:41:05 2010        (r214622)
@@ -308,9 +308,9 @@ cv_timedwait(kcondvar_t *cv, kmutex_t *m
        struct timeval tv;
        clock_t delta;
 
-       ASSERT(abstime > 0);
+       abstime += lbolt;
 top:
-       delta = abstime;
+       delta = abstime - lbolt;
        if (delta <= 0)
                return (-1);
 
@@ -321,7 +321,7 @@ top:
        ts.tv_nsec = tv.tv_usec * 1000 + (delta % hz) * (NANOSEC / hz);
        ASSERT(ts.tv_nsec >= 0);
 
-       if(ts.tv_nsec >= NANOSEC) {
+       if (ts.tv_nsec >= NANOSEC) {
                ts.tv_sec++;
                ts.tv_nsec -= NANOSEC;
        }
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to