aboutsummaryrefslogtreecommitdiff
path: root/open_issues/alarm_setitimer
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2012-07-12 12:58:46 +0200
committerThomas Schwinge <thomas@codesourcery.com>2012-07-12 12:58:46 +0200
commit716ef78f951c355e978e869aa437212facecd7ac (patch)
tree3669facc48c573cf50df470d16e6e5a12a83cd13 /open_issues/alarm_setitimer
parenta8993a3d2c1ce9e3aba4b35c83c30ab547c5bbb3 (diff)
parent59344d6c9615e22ecad1e9860b7e287bd92ea6fa (diff)
downloadweb-716ef78f951c355e978e869aa437212facecd7ac.tar.gz
web-716ef78f951c355e978e869aa437212facecd7ac.tar.bz2
web-716ef78f951c355e978e869aa437212facecd7ac.zip
Merge remote-tracking branch 'savannah/master'
Diffstat (limited to 'open_issues/alarm_setitimer')
-rw-r--r--open_issues/alarm_setitimer/alrm.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/open_issues/alarm_setitimer/alrm.c b/open_issues/alarm_setitimer/alrm.c
new file mode 100644
index 00000000..689020ee
--- /dev/null
+++ b/open_issues/alarm_setitimer/alrm.c
@@ -0,0 +1,32 @@
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+static const char msg[] = "< got alarm\n";
+
+static void sighandler(int signo __attribute__((unused)))
+{
+ write(STDOUT_FILENO, msg, sizeof(msg) - 1);
+}
+
+int main()
+{
+ struct sigaction sa;
+ sa.sa_handler = sighandler;
+ sigemptyset(&sa.sa_mask);
+ sa.sa_flags = 0;
+ if (sigaction(SIGALRM, &sa, NULL) == -1)
+ return 1;
+
+ printf("> alarm in 2 secs...\n");
+ alarm(2);
+ pause();
+
+ printf("> alarm!\n");
+
+ pause();
+ printf("> got a signal...\n");
+
+ return 0;
+}