Correzioni varie, imprecisioni nella gestione dei segnali, maggiori dettagli
[gapil.git] / listati / alarm_def.c
diff --git a/listati/alarm_def.c b/listati/alarm_def.c
new file mode 100644 (file)
index 0000000..ac4da03
--- /dev/null
@@ -0,0 +1,14 @@
+unsigned int alarm(unsigned int seconds)
+{
+    struct itimerval old, new;
+    new.it_interval.tv_usec = 0;
+    new.it_interval.tv_sec = 0;
+    new.it_value.tv_usec = 0;
+    new.it_value.tv_sec = (long int) seconds;
+    if (setitimer(ITIMER_REAL, &new, &old) < 0) {
+        return 0;
+    }
+    else {
+        return old.it_value.tv_sec;
+    }
+}