From ab2adc20f2913e43a7623bdd7f61ef2a13f94c5e Mon Sep 17 00:00:00 2001 From: Jonathan Lemon Date: Thu, 27 Jul 2000 23:06:14 +0000 Subject: Have kevent() automatically restart if interrupted by a signal. If this is not desired, then the user can register an EV_SIGNAL filter to explicitly catch a signal event. Change requested by: jayanth, ps, peter "Why is kevent non-restartable after a signal?" --- sys/kern/kern_event.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'sys/kern/kern_event.c') diff --git a/sys/kern/kern_event.c b/sys/kern/kern_event.c index 2f1a390f0de7..b40d51073ecf 100644 --- a/sys/kern/kern_event.c +++ b/sys/kern/kern_event.c @@ -557,12 +557,9 @@ start: kq->kq_state |= KQ_SLEEP; error = tsleep(kq, PSOCK | PCATCH, "kqread", timeout); splx(s); - if (error == 0) + if (error == 0 || error == ERESTART) goto retry; - /* don't restart after signals... */ - if (error == ERESTART) - error = EINTR; - else if (error == EWOULDBLOCK) + if (error == EWOULDBLOCK) error = 0; goto done; } -- cgit v1.2.3