From 0af1b3a7d955890c4592877ac81bb10c0c02b477 Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Sun, 15 Nov 2009 00:46:12 -0600 Subject: [PATCH] add librt for monotonic timers, new timespec>nanoseconds word --- basis/calendar/unix/unix.factor | 3 +++ basis/unix/types/types.factor | 1 + basis/unix/unix.factor | 3 ++- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/basis/calendar/unix/unix.factor b/basis/calendar/unix/unix.factor index 28e54b89fb..ac72385d8c 100644 --- a/basis/calendar/unix/unix.factor +++ b/basis/calendar/unix/unix.factor @@ -14,6 +14,9 @@ IN: calendar.unix : timespec>seconds ( timespec -- seconds ) [ sec>> seconds ] [ nsec>> nanoseconds ] bi time+ ; +: timespec>nanoseconds ( timespec -- seconds ) + [ sec>> 1000000000 * ] [ nsec>> ] bi + ; + : timespec>unix-time ( timespec -- timestamp ) timespec>seconds since-1970 ; diff --git a/basis/unix/types/types.factor b/basis/unix/types/types.factor index 7650e9962f..ec638e6f31 100644 --- a/basis/unix/types/types.factor +++ b/basis/unix/types/types.factor @@ -36,6 +36,7 @@ TYPEDEF: __uint64_t fsfilcnt_t TYPEDEF: fsfilcnt_t __fsfilcnt_t TYPEDEF: __uint64_t rlim_t TYPEDEF: uint32_t id_t +TYPEDEF: long clockid_t C-TYPE: DIR C-TYPE: FILE diff --git a/basis/unix/unix.factor b/basis/unix/unix.factor index 11792d91a7..a672c850d2 100644 --- a/basis/unix/unix.factor +++ b/basis/unix/unix.factor @@ -5,7 +5,7 @@ USING: alien alien.c-types alien.syntax kernel libc sequences continuations byte-arrays strings math namespaces system combinators vocabs.loader accessors stack-checker macros locals generalizations unix.types -io vocabs classes.struct unix.time ; +io vocabs classes.struct unix.time alien.libraries ; IN: unix CONSTANT: PROT_NONE 0 @@ -220,3 +220,4 @@ FUNCTION: int utimes ( char* path, timeval[2] times ) ; FUNCTION: ssize_t write ( int fd, void* buf, size_t nbytes ) ; +"librt" "librt.so" "cdecl" add-library -- 2.34.1