Re: 5.3-RELEASE bringt mir coredump (signal 6)

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Mon, 15 Nov 2004 11:41:40 +0100 (CET)

Peter Ross <Peter.Ross(at)alumni.tu-berlin.de> wrote:
> Bernd Walter wrote:
> > Naja - warum in signal(3), die nur eine Vereinfachung von sigaction(2)
> > ist und nicht dort?
> > OK - dort steht es bei FreeBSD »ebenfalls«.
> > Was ist mit den anderen Funktionen, die mit Signalabfangen zu tun
> > sigblock(2), sigpause(2), sigpending(2), sigprocmask(2), ...
> >
> > Oder wie wäre es mit Funktionen/Programmen die Signale auslösen kön
> > nen:
> > kill(1), kill(2), ualarm(3).
> > In kill(1) steht nur noch ein Auszug, in der dahinterliegenden C
> > Funktion kill(2) steht hingegen nichts mehr.
>
> signal(4) (oder (7))? Und die Systenrufe bekommen einen "SEE ALSO
> signal(x)" Eintrag.

Ich bin eigentlich Bernds Meinung und glaube, daß das nir-
gendwo hineingehört (außer in <sys/signal.h>), und halte es
auch für fehl am Platz in FreeBSD's signal(3).

Im Normalfall _sollte_ niemand wissen müssen, welche Signa-
le welche Nummern haben. Als Anwender / Admin muß man nur
die Namen wissen, und sogar als C-Programmierer muß man nur
in Ausnahmefällen die Nummern wissen.

Falls irgendein dösiges Programm (womit ich auch den Kernel
nicht ausschießen will) mal in einer Meldung nur die Sig-
nalnummer ausspuckt, nicht aber den Namen oder eine Be-
schreibung, dann würde ich das nicht zum Anlaß nehmen, zu
fordern, die Nummern irgendwo prominent zu dokumentieren,
sondern dem Programmierer mal ordentlich den Hintern zu
versohlen und sein Hirn mit 'ner Portion Vernunft zu ver-
sorgen. Sprich: Das Programm gehört gefixt, so daß es
brauchbare Meldungen generiert.

> [...]
> Schoener ist es, wenn die manpages in sich geschlossen alle Informationen
> enthalten, die fuer den Anwender wichtig sind.

Genau. Signalnummern sind nichts, womit ein Anwender kon-
frontiert werden _sollte_. In der Praxis ist das leider
nicht so, aber die Konsequenz daraus muß sein, daß diese
Bugs in den Programmen behoben werden.

> Der Aufruf von kill(1) gehoert schon fast zu einer Unix-Einfuehrung dazu,
> dort kann ich noch kein detailiertes Wissen ueber include-Files
> voraussetzen.

In jeder besseren (!) UNIX-Einführung lernt man, daß man
bei kill(1) besser Signalnamen verwendet, keine Nummern.
Ich persönlich verwende allein schon aus Sicherheitsgründen
_nur_ Namen bei kill (z.B. »kill -HUP 1«), und ich wäre so-
fort dafür, die Angabe von Nummern bei kill(1) ganz zu ver-
bieten (--> synatx error). Leider ist das nicht machbar,
weil es zahlreiche alte Skripte brechen dürfte.

> Gruesse aus dem Sueden (endlich Fruehling, der will hier in Victoria nicht
> richtig ausbrechen, regenmaessig konnten die letzten Tage dem deutschen
> November sprichwoertlich das Wasser reichen..)

Ebenfalls Grüße aus dem Süden ... von Deutschland zumin-
dest. ;-) Hier kehrt jetzt gerade eher der Winter ein.
»Endlich wieder Kuschelzeit«, wie man auf dem letzten IKEA-
Prospekt lesen konnte. :)

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
"The scanf() function is a large and complex beast that often does
something almost but not quite entirely unlike what you desired."
        -- Chris Torek
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Mon 15 Nov 2004 - 11:42:15 CET

search this site