summaryrefslogtreecommitdiff
path: root/open_issues/alarm_setitimer
diff options
context:
space:
mode:
authorPino Toscano <toscano.pino@tiscali.it>2012-06-19 00:53:40 +0200
committerPino Toscano <toscano.pino@tiscali.it>2012-06-19 00:53:40 +0200
commit59344d6c9615e22ecad1e9860b7e287bd92ea6fa (patch)
treeed010f39c7d5c2cc1f7f93b4c2dadfea3debd53b /open_issues/alarm_setitimer
parent17f42781111a3c07f57718f79dd1ce098038ecbb (diff)
open_issues/alarm_setitimer: New.
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;
+}