changeset 648:131571cf708c

Adding usleep
author Elie De Brauwer <eliedebrauwer@gmail.com>
date Wed, 15 Aug 2012 12:53:54 +0200
parents 3258d9233753
children 2364ace48ab1
files toys/usleep.c
diffstat 1 files changed, 32 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/toys/usleep.c	Wed Aug 15 12:53:54 2012 +0200
@@ -0,0 +1,32 @@
+/* vi: set sw=4 ts=4:
+ *
+ * usleep.c - Wait for a number of microseconds.
+ *
+ * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com>
+ *
+ * No standard.
+
+USE_USLEEP(NEWTOY(usleep, "<1", TOYFLAG_BIN))
+
+config USLEEP
+	bool "usleep"
+	default y
+	help
+	  usage: usleep MICROSECONDS
+
+	  Pause for MICROSECONDS microseconds.
+
+*/
+
+#include "toys.h"
+
+void usleep_main(void)
+{
+    struct timespec tv;
+    long delay = atol(*toys.optargs);
+    
+    tv.tv_sec = delay/1000000;
+    tv.tv_nsec = (delay%1000000) * 1000;
+    toys.exitval = !!nanosleep(&tv, NULL);
+
+}