diff options
author | kmacy <kmacy@FreeBSD.org> | 2008-10-19 01:35:27 +0000 |
---|---|---|
committer | kmacy <kmacy@FreeBSD.org> | 2008-10-19 01:35:27 +0000 |
commit | 4ceda2abba2589b9879eb14763ddd65a15bd1ed8 (patch) | |
tree | 9ac7dfedc9d653224646351f53eac268e4dbb97f /sys/kern/kern_fork.c | |
parent | 69b7977cd26d32facef5953ebe569cc8797483fe (diff) | |
download | FreeBSD-src-4ceda2abba2589b9879eb14763ddd65a15bd1ed8.zip FreeBSD-src-4ceda2abba2589b9879eb14763ddd65a15bd1ed8.tar.gz |
- Forward port flush of page table updates on context switch or userret
- Forward port vfork XEN hack
Diffstat (limited to 'sys/kern/kern_fork.c')
-rw-r--r-- | sys/kern/kern_fork.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c index e5a3779..673913b 100644 --- a/sys/kern/kern_fork.c +++ b/sys/kern/kern_fork.c @@ -117,10 +117,15 @@ vfork(td, uap) struct thread *td; struct vfork_args *uap; { - int error; + int error, flags; struct proc *p2; - error = fork1(td, RFFDG | RFPROC | RFPPWAIT | RFMEM, 0, &p2); +#ifdef XEN + flags = RFFDG | RFPROC; /* validate that this is still an issue */ +#else + flags = RFFDG | RFPROC | RFPPWAIT | RFMEM; +#endif + error = fork1(td, flags, 0, &p2); if (error == 0) { td->td_retval[0] = p2->p_pid; td->td_retval[1] = 0; |