diff options
author | Giovanni Di Sirio <gdisirio@gmail.com> | 2016-02-26 09:40:45 +0000 |
---|---|---|
committer | Giovanni Di Sirio <gdisirio@gmail.com> | 2016-02-26 09:40:45 +0000 |
commit | c2a407c4d58b69cda4c1f7504bbf79c1aeffb594 (patch) | |
tree | bd3684e63c2a6cf37f3abe454c7fbd405467b42d /os/rt/include | |
parent | 3e6e47ee7dfea369d865bef41dc59e7fbdff6e8a (diff) | |
download | ChibiOS-c2a407c4d58b69cda4c1f7504bbf79c1aeffb594.tar.gz ChibiOS-c2a407c4d58b69cda4c1f7504bbf79c1aeffb594.tar.bz2 ChibiOS-c2a407c4d58b69cda4c1f7504bbf79c1aeffb594.zip |
Enhanced dynamic support.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@8948 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/rt/include')
-rw-r--r-- | os/rt/include/chdynamic.h | 6 | ||||
-rw-r--r-- | os/rt/include/chschd.h | 2 | ||||
-rw-r--r-- | os/rt/include/chthreads.h | 12 |
3 files changed, 12 insertions, 8 deletions
diff --git a/os/rt/include/chdynamic.h b/os/rt/include/chdynamic.h index 9b653cc5c..b42a6d34e 100644 --- a/os/rt/include/chdynamic.h +++ b/os/rt/include/chdynamic.h @@ -49,6 +49,10 @@ #error "CH_CFG_USE_DYNAMIC requires CH_CFG_USE_WAITEXIT"
#endif
+#if CH_CFG_USE_REGISTRY == FALSE
+#error "CH_CFG_USE_DYNAMIC requires CH_CFG_USE_REGISTRY"
+#endif
+
#if (CH_CFG_USE_HEAP == FALSE) && (CH_CFG_USE_MEMPOOLS == FALSE)
#error "CH_CFG_USE_DYNAMIC requires CH_CFG_USE_HEAP and/or CH_CFG_USE_MEMPOOLS"
#endif
@@ -71,8 +75,6 @@ #ifdef __cplusplus
extern "C" {
#endif
- thread_t *chThdAddRef(thread_t *tp);
- void chThdRelease(thread_t *tp);
#if CH_CFG_USE_HEAP == TRUE
thread_t *chThdCreateFromHeap(memory_heap_t *heapp, size_t size,
const char *name, tprio_t prio,
diff --git a/os/rt/include/chschd.h b/os/rt/include/chschd.h index ca48afe75..6af0cdedb 100644 --- a/os/rt/include/chschd.h +++ b/os/rt/include/chschd.h @@ -235,7 +235,7 @@ struct ch_thread { * @brief Various thread flags.
*/
tmode_t flags;
-#if (CH_CFG_USE_DYNAMIC == TRUE) || defined(__DOXYGEN__)
+#if (CH_CFG_USE_REGISTRY == TRUE) || defined(__DOXYGEN__)
/**
* @brief References to this thread.
*/
diff --git a/os/rt/include/chthreads.h b/os/rt/include/chthreads.h index d4f2a68d0..2832051e9 100644 --- a/os/rt/include/chthreads.h +++ b/os/rt/include/chthreads.h @@ -181,6 +181,13 @@ extern "C" { thread_t *chThdCreateStatic(void *wsp, size_t size,
tprio_t prio, tfunc_t pf, void *arg);
thread_t *chThdStart(thread_t *tp);
+ thread_t *chThdAddRef(thread_t *tp);
+ void chThdRelease(thread_t *tp);
+ void chThdExit(msg_t msg);
+ void chThdExitS(msg_t msg);
+#if CH_CFG_USE_WAITEXIT == TRUE
+ msg_t chThdWait(thread_t *tp);
+#endif
tprio_t chThdSetPriority(tprio_t newprio);
void chThdTerminate(thread_t *tp);
msg_t chThdSuspendS(thread_reference_t *trp);
@@ -195,11 +202,6 @@ extern "C" { void chThdSleepUntil(systime_t time);
systime_t chThdSleepUntilWindowed(systime_t prev, systime_t next);
void chThdYield(void);
- void chThdExit(msg_t msg);
- void chThdExitS(msg_t msg);
-#if CH_CFG_USE_WAITEXIT == TRUE
- msg_t chThdWait(thread_t *tp);
-#endif
#ifdef __cplusplus
}
#endif
|