diff options
Diffstat (limited to 'package/busybox/busybox-1.7.0-gettimeofday_ns.patch')
-rw-r--r-- | package/busybox/busybox-1.7.0-gettimeofday_ns.patch | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/package/busybox/busybox-1.7.0-gettimeofday_ns.patch b/package/busybox/busybox-1.7.0-gettimeofday_ns.patch deleted file mode 100644 index 8c4a8f300..000000000 --- a/package/busybox/busybox-1.7.0-gettimeofday_ns.patch +++ /dev/null @@ -1,95 +0,0 @@ -diff -urN busybox-1.7.0/networking/isrv.c busybox-1.7.0-gettimeofday_ns/networking/isrv.c ---- busybox-1.7.0/networking/isrv.c 2007-08-24 11:49:41.000000000 +0100 -+++ busybox-1.7.0-gettimeofday_ns/networking/isrv.c 2007-09-06 17:39:55.000000000 +0100 -@@ -21,20 +21,6 @@ - - /* Helpers */ - --/* Even if _POSIX_MONOTONIC_CLOCK is defined, this -- * may require librt */ --#if 0 /*def _POSIX_MONOTONIC_CLOCK*/ --static time_t monotonic_time(void) --{ -- struct timespec ts; -- if (clock_gettime(CLOCK_MONOTONIC, &ts) != 0) -- time(&ts.tv_sec); -- return ts.tv_sec; --} --#else --#define monotonic_time() (time(NULL)) --#endif -- - /* Opaque structure */ - - struct isrv_state_t { -@@ -258,7 +244,7 @@ - /* this peer is gone */ - remove_peer(state, peer); - } else if (TIMEOUT) { -- TIMEO_TBL[peer] = monotonic_time(); -+ TIMEO_TBL[peer] = monotonic_sec(); - } - } - } -@@ -335,7 +321,7 @@ - break; - - if (timeout) { -- time_t t = monotonic_time(); -+ time_t t = monotonic_sec(); - if (t != CURTIME) { - CURTIME = t; - handle_timeout(state, do_timeout); -diff -urN busybox-1.7.0/runit/runsv.c busybox-1.7.0-gettimeofday_ns/runit/runsv.c ---- busybox-1.7.0/runit/runsv.c 2007-08-24 11:50:01.000000000 +0100 -+++ busybox-1.7.0-gettimeofday_ns/runit/runsv.c 2007-09-06 17:39:55.000000000 +0100 -@@ -33,6 +33,34 @@ - #include "libbb.h" - #include "runit_lib.h" - -+#if ENABLE_MONOTONIC_SYSCALL -+#include <sys/syscall.h> -+ -+/* libc has incredibly messy way of doing this, -+ * typically requiring -lrt. We just skip all this mess */ -+static void gettimeofday_ns(struct timespec *ts) -+{ -+ syscall(__NR_clock_gettime, CLOCK_REALTIME, ts); -+} -+#else -+static void gettimeofday_ns(struct timespec *ts) -+{ -+ if (sizeof(struct timeval) == sizeof(struct timespec) -+ && sizeof(((struct timeval*)ts)->tv_usec) == sizeof(ts->tv_nsec) -+ ) { -+ /* Cheat */ -+ gettimeofday((void*)ts, NULL); -+ ts->tv_nsec *= 1000; -+ } else { -+ extern void BUG_need_to_implement_gettimeofday_ns(void); -+ BUG_need_to_implement_gettimeofday_ns(); -+ } -+} -+#endif -+ -+/* Compare possibly overflowing unsigned counters */ -+#define LESS(a,b) ((int)((unsigned)(b) - (unsigned)(a)) > 0) -+ - static int selfpipe[2]; - - /* state */ -@@ -126,14 +154,6 @@ - return 0; - } - --#define LESS(a,b) ((int)((unsigned)(b) - (unsigned)(a)) > 0) -- --#include <sys/syscall.h> --static void gettimeofday_ns(struct timespec *ts) --{ -- syscall(__NR_clock_gettime, CLOCK_REALTIME, ts); --} -- - static void update_status(struct svdir *s) - { - ssize_t sz; |