]> gitweb.factorcode.org Git - factor.git/commitdiff
remove sleep_micros, add sleeo_nanos to vm
authorDoug Coleman <doug.coleman@gmail.com>
Thu, 19 Nov 2009 10:49:29 +0000 (04:49 -0600)
committerDoug Coleman <doug.coleman@gmail.com>
Thu, 19 Nov 2009 10:49:29 +0000 (04:49 -0600)
vm/os-unix.cpp
vm/os-unix.hpp
vm/os-windows.cpp
vm/run.cpp
vm/vm.hpp

index 075ceff4217cb4cad133a9db87a8777f5269b414..f47dc1d3639f417a0c41da2374e78f362320edef 100644 (file)
@@ -47,15 +47,13 @@ u64 system_micros()
        return (u64)t.tv_sec * 1000000 + t.tv_usec;
 }
 
-void sleep_micros(cell usec)
-{
-       usleep(usec);
-}
-
-void sleep_nanos(timespec ts)
+void sleep_nanos(u64 nsec)
 {
+       timespec ts;
        timespec ts_rem;
        int ret;
+       ts.tv_sec = nsec / 1000000000;
+       ts.tv_nsec = nsec % 1000000000;
        ret = nanosleep(&ts,&ts_rem);
        while(ret == -1 && errno == EINTR)
        {
index 40d1255c8c074c522a63510ddb678a067e4aefac..fa9bc71417bd2f83aa8a3f2b7ed744b47070ce2c 100644 (file)
@@ -54,8 +54,7 @@ void dump_stack_signal(int signal, siginfo_t* siginfo, void* uap);
 
 u64 system_micros();
 u64 nano_count();
-void sleep_micros(cell usec);
-void sleep_nanos(cell nsec);
+void sleep_nanos(u64 nsec);
 
 void init_platform_globals();
 
index 773e40fbbac30069a2b0570363c43123c2acfff3..8a7cf9024ba1a3d46f13704f7a0a5816f2326a7e 100755 (executable)
@@ -126,14 +126,9 @@ segment::~segment()
                fatal_error("Segment deallocation failed",0);
 }
 
-void factor_vm::sleep_micros(u64 usec)
+void sleep_nanos(u64 nsec)
 {
-       Sleep((DWORD)(usec / 1000));
-}
-
-void factor_vm::sleep_nanos(u64 nsec)
-{
-       Sleep((DWORD)(nsec / 1000000));
+       Sleep((DWORD)(nsec/1000000));
 }
 
 long getpagesize()
index 9203dcf1e96199447b670c55b7c6f8324d9f28be..ebe3678439297f06c80279f5cda047d0d0d4bcf2 100755 (executable)
@@ -20,7 +20,7 @@ void factor_vm::primitive_nano_count()
 
 void factor_vm::primitive_sleep()
 {
-       sleep_micros(to_cell(dpop()));
+       sleep_nanos(factor_vm::to_unsigned_8(dpop()));
 }
 
 }
index 4f2544db252aeba29115944dfa41e13718fd8e51..04eaf3d2ef6910a72814f3b11df6754ff9e56cff 100755 (executable)
--- a/vm/vm.hpp
+++ b/vm/vm.hpp
@@ -674,7 +674,6 @@ struct factor_vm
 
        // os-windows
   #if defined(WINDOWS)
-       void sleep_micros(u64 usec);
        void sleep_nanos(u64 nsec);
        const vm_char *vm_executable_path();
        const vm_char *default_image_path();