Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions include/rtdef.h
Original file line number Diff line number Diff line change
Expand Up @@ -398,7 +398,11 @@ typedef struct rt_slist_node rt_slist_t; /**< Type for single lis
*/
struct rt_object
{
char name[RT_NAME_MAX]; /**< name of kernel object */
#if RT_NAME_MAX == 0
char *name; /**< static name of kernel object */
#else
char name[RT_NAME_MAX]; /**< dynamic name of kernel object */
#endif /* RT_NAME_MAX == 0 */
rt_uint8_t type; /**< type of kernel object */
rt_uint8_t flag; /**< flag of kernel object */

Expand Down Expand Up @@ -630,7 +634,11 @@ struct rt_cpu
struct rt_thread
{
/* rt object */
char name[RT_NAME_MAX]; /**< the name of thread */
#if RT_NAME_MAX == 0
char *name; /**< static name of kernel object */
#else
char name[RT_NAME_MAX]; /**< dynamic name of kernel object */
#endif /* RT_NAME_MAX == 0 */
rt_uint8_t type; /**< type of object */
rt_uint8_t flags; /**< thread's flags */

Expand Down
2 changes: 1 addition & 1 deletion src/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ menu "RT-Thread Kernel"

config RT_NAME_MAX
int "The maximal size of kernel object name"
range 2 32
range 0 64
default 8
help
Each kernel object, such as thread, timer, semaphore etc, has a name,
Expand Down
10 changes: 9 additions & 1 deletion src/idle.c
Original file line number Diff line number Diff line change
Expand Up @@ -306,13 +306,21 @@ static void rt_thread_system_entry(void *parameter)
void rt_thread_idle_init(void)
{
rt_ubase_t i;
#if RT_NAME_MAX > 0
char idle_thread_name[RT_NAME_MAX];
#endif /* RT_NAME_MAX > 0 */

for (i = 0; i < _CPUS_NR; i++)
{
rt_sprintf(idle_thread_name, "tidle%d", i);
#if RT_NAME_MAX > 0
rt_snprintf(idle_thread_name, RT_NAME_MAX, "tidle%d", i);
#endif /* RT_NAME_MAX > 0 */
rt_thread_init(&idle_thread[i],
#if RT_NAME_MAX > 0
idle_thread_name,
#else
"tidle",
#endif /* RT_NAME_MAX > 0 */
idle_thread_entry,
RT_NULL,
&idle_thread_stack[i][0],
Expand Down