Here's a small patch which implements grub_millisleep () using nanosleep
() in util/misc.c.
I hope it's correct.

-- 
Felix Zielcke
2009-02-15  Felix Zielcke  <fziel...@z-51.de>

	* util/misc.c: Define _POSIX_C_SOURCE 199309L.
	Include <time.h>.
	(grub_millisleep): New function.

Index: util/misc.c
===================================================================
--- util/misc.c	(revision 1996)
+++ util/misc.c	(working copy)
@@ -27,6 +27,9 @@
 #include <sys/time.h>
 #include <unistd.h>
 
+#define _POSIX_C_SOURCE 199309L
+#include <time.h>
+
 #include <grub/kernel.h>
 #include <grub/misc.h>
 #include <grub/cache.h>
@@ -310,6 +313,16 @@ grub_get_time_ms (void)
   return (tv.tv_sec * 1000 + tv.tv_usec / 1000);
 }
 
+void
+grub_millisleep (grub_uint32_t ms)
+{
+  struct timespec ts;
+
+  ts.tv_sec = ms / 1000;
+  ts.tv_nsec = (ms % 1000) * 1000000;
+  nanosleep (&ts, NULL);
+}
+
 void 
 grub_arch_sync_caches (void *address __attribute__ ((unused)),
 		       grub_size_t len __attribute__ ((unused)))
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to