Subject: CVS commit: src
To: None <source-changes@netbsd.org>
From: Emmanuel Dreyfus <manu@netbsd.org>
List: source-changes
Date: 12/24/2002 14:15:46
Module Name:	src
Committed By:	manu
Date:		Tue Dec 24 12:15:46 UTC 2002

Modified Files:
	src/sbin/sysctl: sysctl.c
	src/sys/compat/darwin: darwin_exec.c darwin_syscall.h
	    darwin_syscallargs.h darwin_syscalls.c darwin_sysctl.c
	    darwin_sysctl.h darwin_sysent.c syscalls.master
	src/sys/sys: sysctl.h

Log Message:
On Darwin, mach_init is the system bootstrap process. It is responsible
for forking the traditional UNIX init(8) and it does the Mach port naming
service. We need mach_init for the naming service, but unfortunately, it
will only act as such if its PID is 1. We introduce a sysctl
(emul.darwin.init_pid) to fool a given process into thinking its PID is 1.
That way we can get mach_init into behaving as the name server.

Typical use:
/sbin/sysctl -w emul.darwin.init_pid=$$ ; exec /emul/darwin/sbin/mach_init


To generate a diff of this commit:
cvs rdiff -r1.61 -r1.62 src/sbin/sysctl/sysctl.c
cvs rdiff -r1.7 -r1.8 src/sys/compat/darwin/darwin_exec.c
cvs rdiff -r1.14 -r1.15 src/sys/compat/darwin/darwin_syscall.h \
    src/sys/compat/darwin/darwin_syscallargs.h \
    src/sys/compat/darwin/darwin_syscalls.c \
    src/sys/compat/darwin/darwin_sysent.c
cvs rdiff -r1.4 -r1.5 src/sys/compat/darwin/darwin_sysctl.c
cvs rdiff -r1.1 -r1.2 src/sys/compat/darwin/darwin_sysctl.h
cvs rdiff -r1.8 -r1.9 src/sys/compat/darwin/syscalls.master
cvs rdiff -r1.86 -r1.87 src/sys/sys/sysctl.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.