*1 routines in /sys/kern

1999-01-29 Thread Mark Newton

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,new...@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 majord...@freebsd.org
with "unsubscribe freebsd-current" in the body of the message


*1 routines in /sys/kern

1999-01-30 Thread Garrett Wollman
< said:

> 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?

I'd say, ``go ahead''.  But you should probably include a comment in
the source file indicating the reason for the split, so that someone
else maintaining the code can figure it out.

-GAWollman

--
Garrett A. Wollman   | O Siem / We are all family / O Siem / We're all the same
woll...@lcs.mit.edu  | O Siem / The fires of freedom 
Opinions not those of| Dance in the burning flame
MIT, LCS, CRS, or NSA| - Susan Aglukark and Chad Irschick

To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-current" in the body of the message


Re: *1 routines in /sys/kern

1999-01-30 Thread Mike Smith
> 
> 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?

I'd second Garrett on this; as long as it's documented somewhere 
that the *1 routines are the "backends", it sounds eminently sensible.

-- 
\\  Sometimes you're ahead,   \\  Mike Smith
\\  sometimes you're behind.  \\  m...@smith.net.au
\\  The race is long, and in the  \\  msm...@freebsd.org
\\  end it's only with yourself.  \\  msm...@cdrom.com



To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-current" in the body of the message