SIGABRT | |
---|---|
Beskrivelse | Brugt afbrydelsessignalabort() |
Standard | ende med et hukommelsesdump |
SA_SIGINFO Koder | |
Har ingen specifikke koder |
SIGABRT (fra engelsk signal and abort ) er et signal, der bruges i POSIX - systemer, sendt af en proces til sig selv, når man udfører en funktion abort()for at crashe med et hukommelsesdump , hvis det er umuligt at fortsætte programmet videre.
Defineret som en heltalskonstant i header-filen signal.h. Linux bruger et synonymsignal - SIGIOT ( fra den engelske I/O transfer trap - I/O trap).
Funktionen abort(), der sender dette signal til selve processen, er defineret i libc med en prototype i stdlib.h . Signalet kan fanges eller ignoreres, men abort()vil tvinge programmet til at afslutte (ved først at skylle og lukke standardstrømmene og dumpe programmets hukommelse), selvom signalbehandleren ikke gør det. På denne måde abort()garanterer funktionen opsigelse af programmet, hvorfor det ofte bruges af biblioteker i nødsituationer - når eksekveringen ikke skal fortsættes, men hovedprogrammet skal kunne udføre handlinger, der er nødvendige, før det går ned.
SIGABRT kaldes også af assertions (C-debugging-værktøj - makro assert() påberåber sig abort(), hvis påstanden, der sendes som et argument, er falsk).
POSIX- signaler | |||
---|---|---|---|
| |||
|