Re: libc och signaler

From: Göran Uddeborg (goeran_at_uddeborg.pp.se)
Date: 1997-04-27 22:41:45

> > SIGABRT    Övergiven
>
> Övergiven för SIGABRT håller jag inte med om.  Det blir för stort avstånd
> till det engelska ordet.  Sen speglar det inte riktigt vad SIGABRT
> används till.  Ofta skickar man den signalen till sig själv bara för
> att se till att man får en minnesdump.  Så även om det är mer "makabert"
> så vidhåller jag vid Aborterad.

Men det speglar väl inte heller vad signalen används till?

Jag håller med om att det blir stort avstånd fonetiskt.  Däremot är
det nära semantiskt, åtminstone är det den betydelsen på det engelska
"abort" jag tänker mig.  Processen bestämmer sig för att något är fel,
och ÖVERGER KÖRNINGEN.

Att den sedan ibland lämnar spår efter sig i form av en minnesdump
brukar ju det rapporterande programmet skriva efteråt.  (Om det görs
någon, det beror ju på fler faktorer än enbart signalen.)

> > SIGFPE     Aritmetiskt fel
> 
> Jag vill nog vidhålla vid Flyttalsberäkningsfel för SIGFPE.  Det är just
> flyttal som orsakar signalen, aritmetik finns även för heltal.

Men signalen används för alla aritmetiska fel, även när det gäller
heltal.  Studera t.ex. följande stycke från libc-dokumentationen, nod
Signal Handling/Standard Signals/Program Error Signals

 - Macro: int SIGFPE
     The `SIGFPE' signal reports a fatal arithmetic error.  Although the
     name is derived from "floating-point exception", this signal
     actually covers all arithmetic errors, including division by zero
     and overflow.

Eller prova själv med t.ex. följande lilla program:

  main(){int i=1, j=0; return i/j;}

> Jag tror SIGWIND är samma som SIGWINCH.

Det förefaller ju sannolikt ja.

Arkiv genererat av hypermail 2.1.1.