Content deleted Content added
الحقن الحقن الحقن Tags: Reverted Mobile edit Mobile web edit |
m Bot: link syntax and minor changes |
||
(4 intermediate revisions by 3 users not shown) | |||
Line 3:
{{C_Standard Library}}
In the [[C Standard Library]], '''signal processing''' defines how a program handles various [[Signal (computing)|signals]] while it executes. A signal can report some exceptional behavior within the program (
==Standard signals==
Line 11:
*<code>SIGABRT</code> – "abort", abnormal termination.
*<code>SIGFPE</code> – [[
*<code>SIGILL</code> – "illegal", invalid instruction.
*<code>SIGINT</code> – "interrupt", interactive attention request sent to the program.
*<code>SIGSEGV</code> – "[[segmentation violation
*<code>SIGTERM</code> – "terminate", termination request sent to the program.
Line 48:
|}
==Example usage==
<syntaxhighlight lang="c">
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
volatile sig_atomic_t status = 0;
static void catch_function(int signo) {
status = signo;
puts("Interactive attention signal caught.");▼
}
Line 65 ⟶ 68:
}
puts("Raising the interactive attention signal.");
if (raise(SIGINT)
fputs("Error raising the signal.\n", stderr);
return EXIT_FAILURE;
}
▲ if (status == SIGINT) puts("Interactive attention signal caught.");
puts("Exiting.");
return EXIT_SUCCESS;
|