diff options
Diffstat (limited to 'c-signals')
| -rw-r--r-- | c-signals/.clang-format | 4 | ||||
| -rw-r--r-- | c-signals/Makefile | 5 | ||||
| -rw-r--r-- | c-signals/main.c | 21 |
3 files changed, 30 insertions, 0 deletions
diff --git a/c-signals/.clang-format b/c-signals/.clang-format new file mode 100644 index 0000000..5f0e585 --- /dev/null +++ b/c-signals/.clang-format @@ -0,0 +1,4 @@ +BasedOnStyle: Chromium +ColumnLimit: 120 +IndentWidth: 4 + diff --git a/c-signals/Makefile b/c-signals/Makefile new file mode 100644 index 0000000..afd71c3 --- /dev/null +++ b/c-signals/Makefile @@ -0,0 +1,5 @@ +a.out: + gcc -Wall -Werror -Wpedantic main.c + +clean: + -rm a.out diff --git a/c-signals/main.c b/c-signals/main.c new file mode 100644 index 0000000..a471016 --- /dev/null +++ b/c-signals/main.c @@ -0,0 +1,21 @@ +#include <signal.h> +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> + +void handle_signal(int signal) { + printf("Signal received %d\n", signal); +} + +// use “kill -10 pidof a.out“ +// https://www.man7.org/linux/man-pages/man7/signal.7.html +int main(void) { + signal(SIGUSR1, handle_signal); + signal(SIGUSR2, handle_signal); + + printf("Waiting for signals...\n"); + for (;;) + sleep(1); + + return 0; +} |
