Subject: Re: signal(SIGSEGV, SIG_IGN) -> 100% CPU
To: NetBSD Kernel Technical Discussion List <tech-kern@NetBSD.ORG>
From: Greg A. Woods <woods@most.weird.com>
List: tech-kern
Date: 06/13/1999 19:47:43
[ On Monday, June 14, 1999 at 09:04:40 (+1000), Robert Elz wrote: ]
> Subject: Re: signal(SIGSEGV, SIG_IGN) -> 100% CPU 
>
> What is inelegant is the distinction between what is a sys call, and what
> isn't.

Well, OK, I agree for the most part *but* there's one important
distinction that is only recently being worked around:  Chapter 3
interfaces can mostly be replaced at will with incompatible
functionality in a program, but Chapter 2 interfaces cannot be replaced
without jeopardizing the correct functioning of some standard library
subroutines (i.e. those Chapter 3 interfaces) that have also been called
by the program.  Of course there are instances where more complex
library routines call other library routines and strange things can
happen if you manage to replace a library routine without knowing it
(harder to do these days in C with prototypes, weak references, and all,
but still easily possible unless we roll all sysem libraries into one
big monolith and require one common header file be included).

From a documentation point of view I think the distinction is still
important too -- I detested working on systems where the difference was
purposefully blurred even in the documentation.

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