From: Roland McGrath Date: Thu, 20 Feb 2003 02:45:22 +0000 (+0000) Subject: 2003-02-19 Roland McGrath X-Git-Tag: v4.5.18~821 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f3a0e1bb56176d1f41aa92be3c7128f0ad1b1543;p=strace 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. --- 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;