[fix] thread control bug about RT_THREAD_CTRL_CLOSE command

This commit is contained in:
chenchaoqun 2020-08-14 15:52:35 +08:00
parent 82ac7d1eea
commit c15a7858c9
1 changed files with 10 additions and 2 deletions

View File

@ -679,9 +679,17 @@ rt_err_t rt_thread_control(rt_thread_t thread, int cmd, void *arg)
case RT_THREAD_CTRL_STARTUP: case RT_THREAD_CTRL_STARTUP:
return rt_thread_startup(thread); return rt_thread_startup(thread);
#ifdef RT_USING_HEAP
case RT_THREAD_CTRL_CLOSE: case RT_THREAD_CTRL_CLOSE:
return rt_thread_delete(thread);
if (rt_object_is_systemobject((rt_object_t)thread) == RT_TRUE)
{
return rt_thread_detach(thread);
}
#ifdef RT_USING_HEAP
else
{
return rt_thread_delete(thread);
}
#endif #endif
#ifdef RT_USING_SMP #ifdef RT_USING_SMP