Module: xenomai-forge
Branch: rtdm-api-rework
Commit: 2a824dd3e4251d607529d527f52f86c3a8a50cc7
URL:    
http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=2a824dd3e4251d607529d527f52f86c3a8a50cc7

Author: Philippe Gerum <r...@xenomai.org>
Date:   Thu Apr 10 11:39:50 2014 +0200

cobalt/synch: add initializer for simple prio-driven wait queue

---

 include/cobalt/kernel/synch.h |   12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/include/cobalt/kernel/synch.h b/include/cobalt/kernel/synch.h
index 181e053..ddce19d 100644
--- a/include/cobalt/kernel/synch.h
+++ b/include/cobalt/kernel/synch.h
@@ -59,6 +59,18 @@ typedef struct xnsynch {
        void (*cleanup)(struct xnsynch *synch); /* Cleanup handler */
 } xnsynch_t;
 
+#define XNSYNCH_WAITQUEUE_INITIALIZER(__name) {                \
+               .status = XNSYNCH_PRIO,                 \
+               .wprio = -1,                            \
+               .pendq = LIST_HEAD_INIT((__name).pendq),        \
+               .owner = NULL,                          \
+               .cleanup = NULL,                        \
+               .fastlock = NULL,                       \
+       }
+
+#define DEFINE_XNWAITQ(__name) \
+       struct xnsynch __name = XNSYNCH_WAITQUEUE_INITIALIZER(__name)
+
 static inline void xnsynch_set_status(struct xnsynch *synch, int bits)
 {
        synch->status |= bits;


_______________________________________________
Xenomai-git mailing list
Xenomai-git@xenomai.org
http://www.xenomai.org/mailman/listinfo/xenomai-git

Reply via email to