aboutsummaryrefslogtreecommitdiff
path: root/open_issues/alarm_setitimer/alrm.c
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2012-07-01 10:35:05 -0300
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2012-07-01 10:35:05 -0300
commite9990192bb52a2c6085d4c4d355c6ad9d8bdac67 (patch)
tree35e4049bcce5d1f3179fe58da0348bc4e6cfb16b /open_issues/alarm_setitimer/alrm.c
parent4f2ceacfd87f5071e34ccfc37916778226294161 (diff)
parent59344d6c9615e22ecad1e9860b7e287bd92ea6fa (diff)
downloadweb-e9990192bb52a2c6085d4c4d355c6ad9d8bdac67.tar.gz
web-e9990192bb52a2c6085d4c4d355c6ad9d8bdac67.tar.bz2
web-e9990192bb52a2c6085d4c4d355c6ad9d8bdac67.zip
Merge branch 'master' of http://git.savannah.gnu.org/cgit/hurd/web
Diffstat (limited to 'open_issues/alarm_setitimer/alrm.c')
-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;
+}