aboutsummaryrefslogtreecommitdiffstats
path: root/src/include/condvars.h
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2009-05-16 10:57:16 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2009-05-16 10:57:16 +0000
commit2706d240bbea25b21dac8e0bc123de9cb2080a13 (patch)
tree2dadce33dd364f5d745f3f8c5274289ad237e63d /src/include/condvars.h
parent2f39b6e6b5bd6383c125fbf151ffd0d7e488a1de (diff)
downloadChibiOS-2706d240bbea25b21dac8e0bc123de9cb2080a13.tar.gz
ChibiOS-2706d240bbea25b21dac8e0bc123de9cb2080a13.tar.bz2
ChibiOS-2706d240bbea25b21dac8e0bc123de9cb2080a13.zip
Added static initializers to thread queues, semaphores, mutexes, condvars and event sources.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@975 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'src/include/condvars.h')
-rw-r--r--src/include/condvars.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/include/condvars.h b/src/include/condvars.h
index 90c78eccf..d68637f21 100644
--- a/src/include/condvars.h
+++ b/src/include/condvars.h
@@ -58,6 +58,21 @@ extern "C" {
}
#endif
+/**
+ * @brief Data part of a static condition variable initializer.
+ * @details This macro should be used when statically initializing a condition
+ * variable that is part of a bigger structure.
+ */
+#define _CONDVAR_DATA(name) {_THREADSQUEUE_DATA(name.c_queue)}
+
+/**
+ * @brief Static condition variable initializer.
+ * @details Statically initialized condition variables require no explicit
+ * initialization using @p chCondInit().
+ * @param name the name of the condition variable
+ */
+#define CONDVAR_DECL(name) CondVar name = _CONDVAR_DATA(name)
+
#endif /* CH_USE_CONDVARS && CH_USE_MUTEXES */
#endif /* _CONDVARS_H_ */