diff options
author | Pawel Jakub Dawidek <pjd@FreeBSD.org> | 2010-11-01 10:41:05 +0000 |
---|---|---|
committer | Pawel Jakub Dawidek <pjd@FreeBSD.org> | 2010-11-01 10:41:05 +0000 |
commit | 1cc1967893fb65a363d860c4b68fbf2022169494 (patch) | |
tree | 29c6c84b142bc137685206cee22d91d2b22d23e8 /cddl/contrib | |
parent | e396eb604fda71aab6ea47b89f9c9cdcdb2ee53f (diff) | |
download | src-1cc1967893fb65a363d860c4b68fbf2022169494.tar.gz src-1cc1967893fb65a363d860c4b68fbf2022169494.zip |
1. Remove invalid assertion.
2. Properly recalculate delta in case pthread_cond_timedwait() is interrupted.
3. Style fix.
Reported by: [1] App Deb <appdebgr@gmail.com>
Notes
Notes:
svn path=/head/; revision=214622
Diffstat (limited to 'cddl/contrib')
-rw-r--r-- | cddl/contrib/opensolaris/lib/libzpool/common/kernel.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c b/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c index e0f64228be4f..ca68ca1fc00e 100644 --- a/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c +++ b/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c @@ -308,9 +308,9 @@ cv_timedwait(kcondvar_t *cv, kmutex_t *mp, clock_t abstime) 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; } |