浏览代码

implement SuSv3 required ualarm()

Eric Andersen 19 年之前
父节点
当前提交
d91c24070b
共有 1 个文件被更改,包括 19 次插入0 次删除
  1. 19 0
      libc/unistd/ualarm.c

+ 19 - 0
libc/unistd/ualarm.c

@@ -0,0 +1,19 @@
+#define _GNU_SOURCE
+#include <time.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+useconds_t ualarm(useconds_t value, useconds_t interval)
+{
+    struct itimerval otimer;
+    const struct itimerval itimer = {
+	{ 0, interval },
+	{ 0, value}
+    };
+
+    if (setitimer(ITIMER_REAL, &itimer, &otimer) < 0) {
+	return -1;
+    }
+    return((otimer.it_value.tv_sec * 1000000) + otimer.it_value.tv_usec);
+}