From f3a0e1bb56176d1f41aa92be3c7128f0ad1b1543 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Thu, 20 Feb 2003 02:45:22 +0000 Subject: [PATCH] 2003-02-19 Roland McGrath FreeBSD rfork support changes from Russ Cox : * syscall.c (internal_syscall): Handle SYS_rfork with internal_fork. * process.c (internal_fork) [SYS_rfork]: Bail if RFPROC flag not set. --- process.c | 4 ++++ syscall.c | 3 +++ 2 files changed, 7 insertions(+) diff --git a/process.c b/process.c index c24bfc66..30d1545b 100644 --- a/process.c +++ b/process.c @@ -451,6 +451,10 @@ struct tcb *tcp; struct tcb *tcpchild; if (exiting(tcp)) { +#ifdef SYS_rfork + if (tcp->scno == SYS_rfork && !(tcp->u_arg[0]&RFPROC)) + return 0; +#endif if (getrval2(tcp)) return 0; if (!followfork) diff --git a/syscall.c b/syscall.c index 5b04dc91..bb118693 100644 --- a/syscall.c +++ b/syscall.c @@ -621,6 +621,9 @@ struct tcb *tcp; #endif #ifdef SYS_rforkall case SYS_rforkall: +#endif +#ifdef SYS_rfork + case SYS_rfork: #endif internal_fork(tcp); break; -- 2.40.0