Subject: Re: rc.shutdown isn't enough.
To: None <tech-userlevel@netbsd.org>
From: Greg A. Woods <woods@most.weird.com>
List: tech-userlevel
Date: 04/25/1999 13:46:22
[ On , April 25, 1999 at 10:31:37 (-0700), Michael Graff wrote: ]
> Subject: rc.shutdown isn't enough.
>
> I'm not certain that run levels would help, but:
> 
> level SINGLE -> MULTI
> 	do normal startup stuff
> 
> level MULTI -> SINGLE
> 	kill normal processes
> 
> level SINGLE -> HALTED
> 	unconfigure configured disks, unmount fs, mount / as read
> 	only.
> 
> Each of these should have an rc.* type of file at the least, or init
> should tell rc.shutdown exactly what it is planning to do.

Whether the levels are anonymous (i.e. just numbers), or specifically
named, you need some mechanism to track the current state of the system,
and of course you also need to define the state transitions somewhere.

With several anonymous run levels then init only needs to track the
current state, and all the scripts invoked by /etc/inittab "do the right
thing" and hopefully at the right time, including the controlling all
the legal state transitions.  Any fixed definition of states and state
transitions will either never be flexible enough for everyone, or will
be far too complex and bloated to be usable.

-- 
							Greg A. Woods

+1 416 218-0098      VE3TCP      <gwoods@acm.org>      <robohack!woods>
Planix, Inc. <woods@planix.com>; Secrets of the Weird <woods@weird.com>