AcessNative - Add _SysTimestamp (based off gettimeofday)
authorJohn Hodge (sonata) <[email protected]>
Fri, 7 Nov 2014 04:15:07 +0000 (12:15 +0800)
committerJohn Hodge (sonata) <[email protected]>
Fri, 7 Nov 2014 04:15:07 +0000 (12:15 +0800)
AcessNative/ld-acess_src/exports.c
AcessNative/ld-acess_src/exports.h
AcessNative/ld-acess_src/syscalls.c

index 62451ec..8064bb8 100644 (file)
@@ -254,10 +254,7 @@ int acess__SysLoadModule(const char *Path)
 // --- Timekeeping ---
 int64_t acess__SysTimestamp(void)
 {
-       // TODO: Better impl
-       TODO();
-//     return now()*1000;
-       return 0;
+       return native_timestamp();
 }
 
 // --- Memory Management ---
index 788e0d2..94987d0 100644 (file)
@@ -27,6 +27,8 @@ extern uint64_t       native_tell(int FD);
 extern int     native_execve(const char *filename, const char *const argv[], const char *const envp[]);
 extern int     native_spawn(const char *filename, const char *const argv[], const char *const envp[]);
 
+extern int64_t native_timestamp(void);
+
 // Syscalls used by the linker
 extern int     acess__SysOpen(const char *Path, unsigned int Flags);
 extern void    acess__SysClose(int FD);
index 965cc4a..3341a95 100644 (file)
@@ -13,6 +13,7 @@
 # include <spawn.h>    // posix_spawn
 #endif
 #include "request.h"
+#include <sys/time.h>
 
 #define assert(cnd) do{ \
        if( !(cnd) ) { \
@@ -381,3 +382,10 @@ int native_spawn(const char *filename, const char *const argv[], const char *con
        
        return rv;
 }
+
+int64_t native_timestamp(void)
+{
+       struct timeval tv;
+       gettimeofday(&tv, NULL);
+       return tv.tv_sec*1000 + tv.tv_usec / 1000;
+}

UCC git Repository :: git.ucc.asn.au