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

Reply via email to