Date: Sat, 12 Apr 1997 18:48:40 -0700 (PDT) From: John Dyson <dyson> To: CVS-committers, cvs-all, cvs-sys Subject: cvs commit: src/sys/i386/ibcs2 imgact_coff.c src/sys/i386/i386 pmap.c src/sys/i386/linux imgact_linux.c src/sys/kern imgact_aout.c imgact_elf.c imgact_gzip.c kern_exec.c kern_fork.c src/sys/vm pmap.h vm_extern.h vm_glue.c vm_map.c Message-ID: <199704130148.SAA09397@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
dyson 97/04/12 18:48:39
Modified: sys/i386/i386 pmap.c
sys/i386/ibcs2 imgact_coff.c
sys/i386/linux imgact_linux.c
sys/kern imgact_aout.c imgact_elf.c imgact_gzip.c
kern_exec.c kern_fork.c
sys/vm pmap.h vm_extern.h vm_glue.c vm_map.c
Log:
Fully implement vfork. Vfork is now much much faster than even our
fork. (On my machine, fork is about 240usecs, vfork is 78usecs.)
Implement rfork(!RFPROC !RFMEM), which allows a thread to divorce its memory
from the other threads of a group.
Implement rfork(!RFPROC RFCFDG), which closes all file descriptors, eliminating
possible existing shares with other threads/processes.
Implement rfork(!RFPROC RFFDG), which divorces the file descriptors for a
thread from the rest of the group.
Fix the case where a thread does an exec. It is almost nonsense for a thread
to modify the other threads address space by an exec, so we
now automatically divorce the address space before modifying it.
Revision Changes Path
1.140 +10 -1 src/sys/i386/i386/pmap.c
1.24 +3 -2 src/sys/i386/ibcs2/imgact_coff.c
1.22 +3 -2 src/sys/i386/linux/imgact_linux.c
1.34 +7 -2 src/sys/kern/imgact_aout.c
1.19 +4 -2 src/sys/kern/imgact_elf.c
1.29 +4 -2 src/sys/kern/imgact_gzip.c
1.60 +3 -1 src/sys/kern/kern_exec.c
1.35 +44 -4 src/sys/kern/kern_fork.c
1.20 +2 -1 src/sys/vm/pmap.h
1.34 +3 -1 src/sys/vm/vm_extern.h
1.63 +7 -5 src/sys/vm/vm_glue.c
1.76 +53 -1 src/sys/vm/vm_map.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199704130148.SAA09397>
