Module: xenomai-forge Branch: next Commit: 7ec3a1e19dfb8aa14ae73afb712c148b19fce893 URL: http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=7ec3a1e19dfb8aa14ae73afb712c148b19fce893
Author: Philippe Gerum <r...@xenomai.org> Date: Thu May 29 16:27:26 2014 +0200 cobalt/assert: fix assertions with OPT_DEBUG_XNLOCK off --- include/cobalt/kernel/assert.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/include/cobalt/kernel/assert.h b/include/cobalt/kernel/assert.h index 52ddc14..6e00551 100644 --- a/include/cobalt/kernel/assert.h +++ b/include/cobalt/kernel/assert.h @@ -84,10 +84,15 @@ #define primary_mode_only() XENO_BUGON(CONTEXT, ipipe_root_p) #define secondary_mode_only() XENO_BUGON(CONTEXT, !ipipe_root_p) #define interrupt_only() XENO_BUGON(CONTEXT, !xnsched_interrupt_p()) -#define atomic_only() XENO_BUGON(CONTEXT, (xnlock_is_owner(&nklock) && hard_irqs_disabled()) == 0) -#define preemptible_only() XENO_BUGON(CONTEXT, xnlock_is_owner(&nklock) || hard_irqs_disabled()) #define realtime_cpu_only() XENO_BUGON(CONTEXT, !xnsched_supported_cpu(ipipe_processor_id())) #define thread_only() XENO_BUGON(CONTEXT, xnsched_interrupt_p()) +#if XENO_DEBUG(XNLOCK) +#define atomic_only() XENO_BUGON(CONTEXT, (xnlock_is_owner(&nklock) && hard_irqs_disabled()) == 0) +#define preemptible_only() XENO_BUGON(CONTEXT, xnlock_is_owner(&nklock) || hard_irqs_disabled()) +#else +#define atomic_only() XENO_BUGON(CONTEXT, hard_irqs_disabled() == 0) +#define preemptible_only() XENO_BUGON(CONTEXT, hard_irqs_disabled() != 0) +#endif void __xnsys_assert_failed(const char *file, int line, const char *msg); _______________________________________________ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git