diff options
author | qiao <none@none> | 2007-02-13 14:18:11 -0800 |
---|---|---|
committer | qiao <none@none> | 2007-02-13 14:18:11 -0800 |
commit | a913396d8daab34d2fa497f49ae18d9f3d3a059f (patch) | |
tree | 6893eeca3cc8f450567f222c9b1db33dc6e6d61a /usr/src/uts/common/syscall/sigtimedwait.c | |
parent | 3125ebfc35130d243e775dc38a6a59be4df0b137 (diff) | |
download | illumos-joyent-a913396d8daab34d2fa497f49ae18d9f3d3a059f.tar.gz |
6265036 cv_waituntil_sig() often returns early
Diffstat (limited to 'usr/src/uts/common/syscall/sigtimedwait.c')
-rw-r--r-- | usr/src/uts/common/syscall/sigtimedwait.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/usr/src/uts/common/syscall/sigtimedwait.c b/usr/src/uts/common/syscall/sigtimedwait.c index ad4d79b763..56ca042498 100644 --- a/usr/src/uts/common/syscall/sigtimedwait.c +++ b/usr/src/uts/common/syscall/sigtimedwait.c @@ -20,7 +20,7 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -102,7 +102,6 @@ sigtimedwait(sigset_t *setp, siginfo_t *siginfop, timespec_t *timeoutp) proc_t *p = ttoproc(t); timespec_t sig_timeout; timespec_t *rqtp = NULL; - int timecheck = 0; int ret; int error = 0; k_siginfo_t info, *infop; @@ -111,7 +110,6 @@ sigtimedwait(sigset_t *setp, siginfo_t *siginfop, timespec_t *timeoutp) if (timeoutp) { timespec_t now; - timecheck = timechanged; gethrestime(&now); if (datamodel == DATAMODEL_NATIVE) { if (copyin(timeoutp, &sig_timeout, @@ -153,7 +151,7 @@ sigtimedwait(sigset_t *setp, siginfo_t *siginfop, timespec_t *timeoutp) * the absolute future time is passed. */ while ((ret = cv_waituntil_sig(&t->t_delay_cv, &p->p_lock, - rqtp, timecheck)) > 0) + rqtp)) > 0) continue; if (ret == -1) error = EAGAIN; |