Date: Sat, 30 Jan 1999 18:00:15 +1030 (CST) From: Mark Newton <newton@atdot.dotat.org> To: current@FreeBSD.ORG Subject: *1 routines in /sys/kern Message-ID: <199901300730.SAA20522@atdot.dotat.org>
next in thread | raw e-mail | index | archive | help
We currently have routines like fork1() and killpg1() in /sys/kern/*
to implement generic functionality for actions with more than one
"front-end".
NetBSD has done something similar for signals, so that emulators
with non-BSD signal semantics can implement their way of doing things
as an emulator-specific front-end without polluting the rest of the
kernel.
The SysVR4 emulator started using that stuff fairly heavily in NetBSD
from November last year. I haven't merged those changes into the FreeBSD
version because, well, the *1 routines aren't there yet.
I wanted to get a bit of discussion going before ploughing ahead with
making the change because I'm uneasy about kernel-wide changes simply
to support an emulator (unstaticizing a function here and there is one
thing, completely altering the implementation architecture of something
that already works is something else entirely).
If I split sigaction(), sigsuspend(), sigpending(), sigprocmask() and
sigaltstack() into front-end and back-end pieces a-la NetBSD so that
emulator-specific signal semantics can be imposed without totally
duplicating those routines inside the emulator (like I did with
sendit() and recvit() for socket I/O), will anyone complain?
- mark
--------------------------------------------------------------------
I tried an internal modem, newton@atdot.dotat.org
but it hurt when I walked. Mark Newton
----- Voice: +61-4-1958-3414 ------------- Fax: +61-8-83034403 -----
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199901300730.SAA20522>
