summaryrefslogtreecommitdiff
path: root/c-signals
diff options
context:
space:
mode:
Diffstat (limited to 'c-signals')
-rw-r--r--c-signals/.clang-format4
-rw-r--r--c-signals/Makefile5
-rw-r--r--c-signals/main.c21
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;
+}