Subject: Re: signal(SIGSEGV, SIG_IGN) -> 100% CPU
To: Robert Elz <kre@munnari.OZ.AU>
From: Gandhi woulda smacked you <greywolf@starwolf.com>
List: tech-kern
Date: 06/14/1999 13:45:47
On Tue, 15 Jun 1999, Robert Elz wrote:
# Date: Sun, 13 Jun 1999 19:47:43 -0400 (EDT)
# From: woods@most.weird.com (Greg A. Woods)
# Message-ID: <m10tJyZ-000gAAC@most.weird.com>
#
# | 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
#
# Nonsense. I doubt you'll have the slightest trouble in your average
# program if you replace ktrace(2) or chflags(2) or unmount(2), or semctl(2).
# On the other hand if you randomly replace printf(3), malloc(3), strcpy(3)
# (etc) with incompatible functionality, half the world is liable to break.
Talk about apples and oranges! Try replacing, in the above
comparison, write, brk/sbrk or mmap.
#
# | From a documentation point of view I think the distinction is still
# | important too
#
# Why? As long as the correct behaviour is observed, why would you care
# whether you are calling time(2), or a time(3) which calls either ftime(2)
# or gettimeofday(2), or something else? About the only use I can see for
# being able to tell the difference is so you have a better hope of figuring
# out what is happening in a sys call trace - but even there, if you see it
# in the trace (today) then you know it was a sys call, it might all change
# tomorrow.
I don't know about anyone else, but if I'm going to be writing my own
library of stuff, chances are, unless it's a graphics library, I'll be
using system calls all over the place because context switches, to my
mind, aren't cheap. I wrote my own block i/o library once bceause didn't
like the semantics in libc/stdio.
I will agree with Greg on this one -- the distinction is important. But
then, I'm kind of an info-maniac. I like to be able to see things
separated out and know what's what, especially within an operating system.
Besides, man(1) figures out which section it's in; if you don't care
which section it's in, let man do its job :-)
#
# kre
#
#
--*greywolf;
--
NetBSD: Net Some Nines.