Page MenuHomeFreeBSD

D30675.id90933.diff
No OneTemporary

D30675.id90933.diff

diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c
--- a/sys/kern/kern_sig.c
+++ b/sys/kern/kern_sig.c
@@ -1168,9 +1168,7 @@
error = kern_sigtimedwait(td, set, &ksi, NULL);
if (error) {
if (error == EINTR && td->td_proc->p_osrel < P_OSREL_SIGWAIT)
- error = ERESTART;
- if (error == ERESTART)
- return (error);
+ return (ERESTART);
td->td_retval[0] = error;
return (0);
}
@@ -1329,15 +1327,13 @@
error = msleep(ps, &p->p_mtx, PPAUSE|PCATCH, "sigwait", timo);
- if (timeout != NULL) {
- if (error == ERESTART) {
- /* Timeout can not be restarted. */
- error = EINTR;
- } else if (error == EAGAIN) {
- /* We will calculate timeout by ourself. */
- error = 0;
- }
- }
+ /* The syscalls can not be restarted. */
+ if (error == ERESTART)
+ error = EINTR;
+
+ /* We will calculate timeout by ourself. */
+ if (timeout != NULL && error == EAGAIN)
+ error = 0;
/*
* If PTRACE_SCE or PTRACE_SCX were set after

File Metadata

Mime Type
text/plain
Expires
Thu, Apr 30, 7:25 AM (8 h, 3 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
32245146
Default Alt Text
D30675.id90933.diff (972 B)

Event Timeline