Re: halted system still working as router.

David Woodhouse (David.Woodhouse@mvhi.com)
Thu, 29 Oct 1998 10:31:07 +0000


paul.hessels@sheridanc.on.ca said:
> The power in my apartment went out and my ups was about to fail. I
> typed "shutdown -h now" <enter>. The machine shutdown and halted. It
> said, The system is halted, and System Halted. My ups never did die.
> The curious thing was that when the power came back on I found that my
> computer was still routing traffic to the internet. Is this normal
> behaviors for a computer that has been halted? Is this a kernel
> problem, or specific to my machine(or my kernel)?

It's always been the normal behaviour of the kernel, until someone changed it
recently in 2.1 kernels without documenting the reason for doing so.

In 2.0, and most 2.1 kernels, 'shutdown -h' will kill all the user-space tasks,
but the kernel itself will remain alive. As routing is a simple function
performed by the kernel alone, it will continue to happen.

I've been known to use this fact in embedded systems, which have a custom
/sbin/init which will set up the interfaces and enable routing, but then just
exits. (Crack that then)

I keep asking why the behaviour was changed, but nobody seems to have owned up
to it yet, let alone given their reasons for doing so.

In recent 2.1 kernels, you'll find that the kernel hangs completely after init
dies. So if you hit SysRq-L, which kills all tasks, you can't even sync and
unmount your disks before rebooting. I consider _that_ to be a bug.

---- ---- ----
David Woodhouse David.Woodhouse@mvhi.com Office: (+44) 1223 810302
Project Leader, Process Information Systems Mobile: (+44) 976 658355
Axiom (Cambridge) Ltd., Swaffham Bulbeck, Cambridge, CB5 0NA, UK.
finger dwmw2@ferret.lmh.ox.ac.uk for PGP key.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/