summaryrefslogtreecommitdiff
path: root/reference/C/CONTRIB/OR_USING_C/08.2.c
diff options
context:
space:
mode:
Diffstat (limited to 'reference/C/CONTRIB/OR_USING_C/08.2.c')
-rw-r--r--reference/C/CONTRIB/OR_USING_C/08.2.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/reference/C/CONTRIB/OR_USING_C/08.2.c b/reference/C/CONTRIB/OR_USING_C/08.2.c
new file mode 100644
index 0000000..e54d99d
--- /dev/null
+++ b/reference/C/CONTRIB/OR_USING_C/08.2.c
@@ -0,0 +1,36 @@
+#include <signal.h>
+
+main()
+{
+ /*
+ * Declare handler routine so we can use its name.
+ */
+ extern int handler();
+
+ /*
+ * Send signal to handler routine.
+ */
+ signal(SIGINT, handler);
+
+ /*
+ * Loop here.
+ */
+ for (;;)
+ pause();
+}
+
+/*
+ * handler--handle the signal.
+ */
+handler()
+{
+ /*
+ * Users of 4.2 and 4.3BSD systems should un-comment
+ * this line, which will make this program
+ * behave as if it were on a non-Berkeley system.
+ */
+ /* signal(SIGINT, SIG_DFL); */
+
+ printf("OUCH\n");
+}
+