[Fix bug] fix thread init bug (#4891)

When we create thread A by rt_thread_init but do
    not init the thread object,and then create thread
    B in the thread A,it maybe crash.
This commit is contained in:
Chester guo 2022-02-17 00:44:37 +08:00 committed by GitHub
parent 49ccbdb851
commit 01b3a34cc6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 13 additions and 0 deletions

13
src/thread.c Normal file → Executable file
View File

@ -191,6 +191,12 @@ static rt_err_t _thread_init(struct rt_thread *thread,
thread->current_priority = priority;
thread->number_mask = 0;
#ifdef RT_USING_EVENT
thread->event_set = 0;
thread->event_info = 0;
#endif
#if RT_THREAD_PRIORITY_MAX > 32
thread->number = 0;
thread->high_mask = 0;
@ -247,6 +253,13 @@ static rt_err_t _thread_init(struct rt_thread *thread,
thread->duration_tick = 0;
#endif
#ifdef RT_USING_MODULE
thread->module_id = 0;
#endif
thread->user_data = 0;
RT_OBJECT_HOOK_CALL(rt_thread_inited_hook, (thread));
return RT_EOK;