diff options
author | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2008-09-05 13:04:28 +0000 |
---|---|---|
committer | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2008-09-05 13:04:28 +0000 |
commit | 517440bad9d6d2f27689e4e3de72794d869d2c26 (patch) | |
tree | 708b9c043e826287a684eaac55315053ad48e0e5 /src | |
parent | 737c82e787472f325fe22f7cbfe82ef8be8a6a66 (diff) | |
download | ChibiOS-517440bad9d6d2f27689e4e3de72794d869d2c26.tar.gz ChibiOS-517440bad9d6d2f27689e4e3de72794d869d2c26.tar.bz2 ChibiOS-517440bad9d6d2f27689e4e3de72794d869d2c26.zip |
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@425 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'src')
-rw-r--r-- | src/chthreads.c | 3 | ||||
-rw-r--r-- | src/include/sleep.h | 2 | ||||
-rw-r--r-- | src/include/threads.h | 3 | ||||
-rw-r--r-- | src/templates/chconf.h | 26 |
4 files changed, 31 insertions, 3 deletions
diff --git a/src/chthreads.c b/src/chthreads.c index 2069fe389..a936fb6dc 100644 --- a/src/chthreads.c +++ b/src/chthreads.c @@ -50,6 +50,9 @@ void init_thread(tprio_t prio, tmode_t mode, Thread *tp) { #ifdef CH_USE_EXIT_EVENT chEvtInit(&tp->p_exitesource); #endif +#ifdef CH_USE_THREAD_EXT + THREAD_EXT_INIT(tp); +#endif } #ifdef CH_USE_DEBUG diff --git a/src/include/sleep.h b/src/include/sleep.h index c718bb4ba..36ba9470a 100644 --- a/src/include/sleep.h +++ b/src/include/sleep.h @@ -28,9 +28,7 @@ #ifdef __cplusplus
extern "C" {
#endif
-#ifdef CH_USE_SLEEP
void chThdSleep(systime_t time);
-#endif /* CH_USE_SLEEP */
#ifdef CH_USE_SYSTEMTIME
bool_t chSysInTimeWindow(systime_t start, systime_t end);
#endif /* CH_USE_SYSTEMTIME */
diff --git a/src/include/threads.h b/src/include/threads.h index 2a53cb1fd..8c3974820 100644 --- a/src/include/threads.h +++ b/src/include/threads.h @@ -106,6 +106,9 @@ struct Thread { /** Thread's own, non-inherited, priority. */ tprio_t p_realprio; #endif +#ifdef CH_USE_THREAD_EXT + THREAD_EXT_FIELDS +#endif }; /** Thread state: Ready to run, waiting on the ready list.*/ diff --git a/src/templates/chconf.h b/src/templates/chconf.h index 1f6fc879e..d7e42dbed 100644 --- a/src/templates/chconf.h +++ b/src/templates/chconf.h @@ -35,12 +35,19 @@ * that this is not related to the compiler optimization options.*/
#define CH_OPTIMIZE_SPEED
+/** Configuration option: it specified this option enables the \p Thread
+ * extension fields and initiazation code.
+ * @see THREAD_EXT_FIELDS
+ * @see THREAD_EXT_INIT
+ */
+#define CH_USE_THREAD_EXT
+
/** Configuration option: if specified then the Virtual Timers subsystem is
* included in the kernel.*/
#define CH_USE_VIRTUAL_TIMERS
/** Configuration option: if specified then the kernel performs the round
- * robin scheduling algorithm on threads of equal priority. */
+ * robin scheduling algorithm on threads of equal priority.*/
#define CH_USE_ROUNDROBIN
/** Configuration option: if specified then the System Timer subsystem is
@@ -173,6 +180,23 @@ */
#define CH_USE_TRACE
+/** User fields added to the end of the \p Thread structure if the
+ * \p CH_USE_THREAD_EXT option is enabled.
+ * @see CH_USE_THREAD_EXT
+ */
+#define THREAD_EXT_FIELDS \
+struct { \
+ /* Add fields here.*/ \
+};
+
+/** User initialization code added to the \p chThdCreate() API if the
+ * \p CH_USE_THREAD_EXT option is enabled.
+ * @see CH_USE_THREAD_EXT
+ */
+#define THREAD_EXT_INIT(tp) { \
+ /* Add initialization code here.*/ \
+}
+
#endif /* _CHCONF_H_ */
/** @} */
|