diff options
author | jlemon <jlemon@FreeBSD.org> | 2000-08-01 04:27:50 +0000 |
---|---|---|
committer | jlemon <jlemon@FreeBSD.org> | 2000-08-01 04:27:50 +0000 |
commit | 08a68c236b14ddaac3f223169c8f8dcd704f2d40 (patch) | |
tree | 4c5e0b5f3e604fca43ea42cd47333591c1299eb5 /sys/kern/kern_event.c | |
parent | 2b61c92449d4692636f90ec9502761c5b59aa7da (diff) | |
download | FreeBSD-src-08a68c236b14ddaac3f223169c8f8dcd704f2d40.zip FreeBSD-src-08a68c236b14ddaac3f223169c8f8dcd704f2d40.tar.gz |
Back out rev 1.12; its not clear that this is the right thing to do,
and in any event, it wasn't done correctly in the first place.
Diffstat (limited to 'sys/kern/kern_event.c')
-rw-r--r-- | sys/kern/kern_event.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/kern/kern_event.c b/sys/kern/kern_event.c index 0fce41b..2db8524 100644 --- a/sys/kern/kern_event.c +++ b/sys/kern/kern_event.c @@ -557,9 +557,12 @@ start: kq->kq_state |= KQ_SLEEP; error = tsleep(kq, PSOCK | PCATCH, "kqread", timeout); splx(s); - if (error == 0 || error == ERESTART) + if (error == 0) goto retry; - if (error == EWOULDBLOCK) + /* don't restart after signals... */ + if (error == ERESTART) + error = EINTR; + else if (error == EWOULDBLOCK) error = 0; goto done; } |