summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/syscall/sigtimedwait.c
diff options
context:
space:
mode:
authorqiao <none@none>2007-02-13 14:18:11 -0800
committerqiao <none@none>2007-02-13 14:18:11 -0800
commita913396d8daab34d2fa497f49ae18d9f3d3a059f (patch)
tree6893eeca3cc8f450567f222c9b1db33dc6e6d61a /usr/src/uts/common/syscall/sigtimedwait.c
parent3125ebfc35130d243e775dc38a6a59be4df0b137 (diff)
downloadillumos-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.c6
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;