Module: xenomai-2.6 Branch: master Commit: 18a589e2160dd111bd7a31bc927fdc20fd94bf33 URL: http://git.xenomai.org/?p=xenomai-2.6.git;a=commit;h=18a589e2160dd111bd7a31bc927fdc20fd94bf33
Author: Gilles Chanteperdrix <gilles.chanteperd...@xenomai.org> Date: Sun Apr 14 09:51:57 2013 +0200 native: get unit tests working with periodic timer --- src/testsuite/unit/cond-torture.c | 10 ++++++---- src/testsuite/unit/mutex-torture.c | 4 ++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/testsuite/unit/cond-torture.c b/src/testsuite/unit/cond-torture.c index 6620ed8..57d47ab 100644 --- a/src/testsuite/unit/cond-torture.c +++ b/src/testsuite/unit/cond-torture.c @@ -152,7 +152,7 @@ typedef RT_MUTEX mutex_t; typedef RT_TASK *thread_t; typedef RT_COND cond_t; -#define timer_read() rt_timer_read() +#define timer_read() rt_timer_ticks2ns(rt_timer_read()) int __mutex_init(mutex_t *mutex, const char *name, int type, int pi) { @@ -174,13 +174,15 @@ int __cond_init(cond_t *cond, const char *name, int absolute) } #define cond_init(cond, absolute) __cond_init(cond, #cond, absolute) #define cond_signal(cond) rt_cond_signal(cond) -#define cond_wait(cond, mutex, ns) rt_cond_wait(cond, mutex, (RTIME)ns) +#define cond_wait(cond, mutex, ns) \ + rt_cond_wait(cond, mutex, ns == XN_INFINITE ? ns : (rt_timer_ns2ticks(ns) + 1)) #define cond_wait_until(cond, mutex, ns) \ - rt_cond_wait_until(cond, mutex, (RTIME)ns) + rt_cond_wait_until(cond, mutex, rt_timer_ns2ticks(ns) + 1) #define cond_destroy(cond) rt_cond_delete(cond) #define thread_self() rt_task_self() -#define thread_msleep(ms) rt_task_sleep((RTIME)ms * NS_PER_MS) +#define thread_msleep(ms) \ + rt_task_sleep(rt_timer_ns2ticks((RTIME)ms * NS_PER_MS) + 1) int thread_spawn_inner(thread_t *thread, const char *name, int prio, void *(*handler)(void *), void *cookie) diff --git a/src/testsuite/unit/mutex-torture.c b/src/testsuite/unit/mutex-torture.c index 2eedaf8..8561a25 100644 --- a/src/testsuite/unit/mutex-torture.c +++ b/src/testsuite/unit/mutex-torture.c @@ -106,7 +106,7 @@ void ms_sleep(int time) nanosleep(&ts, NULL); #else /* __NATIVE_SKIN__ */ - rt_task_sleep(time*NS_PER_MS); + rt_task_sleep(rt_timer_ns2ticks(time*NS_PER_MS) + 1); #endif /* __NATIVE_SKIN__ */ } @@ -233,7 +233,7 @@ int dispatch(const char *service_name, timespec_add(&ts, timeout); status = pthread_mutex_timedlock(mutex, &ts); #else /* __NATIVE_SKIN__ */ - status = -rt_mutex_acquire(mutex, timeout); + status = -rt_mutex_acquire(mutex, rt_timer_ns2ticks(timeout) + 1); #endif /* __NATIVE_SKIN__ */ break; _______________________________________________ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git