From 7cdde62864b4b1360129a096f9fcb61c27155184 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 11 Jul 2015 15:58:50 +0000 Subject: Fixed bug #614. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@8081 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/rt/include/chregistry.h | 48 ++++++++++++++++++++++------------------------ os/rt/src/chsys.c | 4 +++- 2 files changed, 26 insertions(+), 26 deletions(-) (limited to 'os/rt') diff --git a/os/rt/include/chregistry.h b/os/rt/include/chregistry.h index cfec32eeb..a5d13b798 100644 --- a/os/rt/include/chregistry.h +++ b/os/rt/include/chregistry.h @@ -76,26 +76,6 @@ typedef struct { /* Module macros. */ /*===========================================================================*/ -/** - * @name Macro Functions - * @{ - */ -/** - * @brief Sets the current thread name. - * @pre This function only stores the pointer to the name if the option - * @p CH_CFG_USE_REGISTRY is enabled else no action is performed. - * - * @param[in] p thread name as a zero terminated string - * - * @api - */ -#define chRegSetThreadName(p) (ch.rlist.r_current->p_name = (p)) -/** @} */ -#else /* !CH_CFG_USE_REGISTRY */ -#define chRegSetThreadName(p) -#endif /* !CH_CFG_USE_REGISTRY */ - -#if (CH_CFG_USE_REGISTRY == TRUE) || defined(__DOXYGEN__) /** * @brief Removes a thread from the registry list. * @note This macro is not meant for use in application code. @@ -134,10 +114,30 @@ extern "C" { } #endif +#endif /* CH_CFG_USE_REGISTRY == TRUE */ + /*===========================================================================*/ /* Module inline functions. */ /*===========================================================================*/ +/** + * @brief Sets the current thread name. + * @pre This function only stores the pointer to the name if the option + * @p CH_CFG_USE_REGISTRY is enabled else no action is performed. + * + * @param[in] name thread name as a zero terminated string + * + * @api + */ +static inline void chRegSetThreadName(const char *name) { + +#if CH_CFG_USE_REGISTRY == TRUE + ch.rlist.r_current->p_name = name; +#else + (void)name; +#endif +} + /** * @brief Returns the name of the specified thread. * @pre This function only returns the pointer to the name if the option @@ -161,12 +161,11 @@ static inline const char *chRegGetThreadNameX(thread_t *tp) { /** * @brief Changes the name of the specified thread. - * @pre This function only sets the name if the option - * @p CH_CFG_USE_REGISTRY is enabled else it does - * nothing. + * @pre This function only stores the pointer to the name if the option + * @p CH_CFG_USE_REGISTRY is enabled else no action is performed. * * @param[in] tp pointer to the thread - * @param[in] name name to be set + * @param[in] name thread name as a zero terminated string * * @xclass */ @@ -179,7 +178,6 @@ static inline void chRegSetThreadNameX(thread_t *tp, const char *name) { (void)name; #endif } -#endif /* CH_CFG_USE_REGISTRY == TRUE */ #endif /* _CHREGISTRY_H_ */ diff --git a/os/rt/src/chsys.c b/os/rt/src/chsys.c index a76fb7c65..7e0a6c806 100644 --- a/os/rt/src/chsys.c +++ b/os/rt/src/chsys.c @@ -130,9 +130,11 @@ void chSysInit(void) { #endif chSysEnable(); +#if CH_CFG_USE_REGISTRY == TRUE /* Note, &ch_debug points to the string "main" if the registry is - active, else the parameter is ignored.*/ + active.*/ chRegSetThreadName((const char *)&ch_debug); +#endif #if CH_CFG_NO_IDLE_THREAD == FALSE { -- cgit v1.2.3