Skip site navigation (1)Skip section navigation (2)
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>