mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2026-09-20 17:44:20 +08:00
[kernel] 将rt_thread结构体改为显式继承rt_object (#7131)
This commit is contained in:
@@ -48,7 +48,7 @@ int arch_expand_user_stack(void *addr)
|
||||
else /* map failed, send signal SIGSEGV */
|
||||
{
|
||||
#ifdef RT_USING_SIGNALS
|
||||
dbg_log(DBG_ERROR, "[fault] thread %s mapped addr %p failed!\n", rt_thread_self()->name, addr);
|
||||
dbg_log(DBG_ERROR, "[fault] thread %s mapped addr %p failed!\n", rt_thread_self()->parent.name, addr);
|
||||
lwp_thread_kill(rt_thread_self(), SIGSEGV);
|
||||
ret = 1; /* return 1, will return back to intr, then check exit */
|
||||
#endif
|
||||
@@ -57,7 +57,7 @@ int arch_expand_user_stack(void *addr)
|
||||
else /* not stack, send signal SIGSEGV */
|
||||
{
|
||||
#ifdef RT_USING_SIGNALS
|
||||
dbg_log(DBG_ERROR, "[fault] thread %s access unmapped addr %p!\n", rt_thread_self()->name, addr);
|
||||
dbg_log(DBG_ERROR, "[fault] thread %s access unmapped addr %p!\n", rt_thread_self()->parent.name, addr);
|
||||
lwp_thread_kill(rt_thread_self(), SIGSEGV);
|
||||
ret = 1; /* return 1, will return back to intr, then check exit */
|
||||
#endif
|
||||
|
||||
@@ -1034,7 +1034,7 @@ void lwp_cleanup(struct rt_thread *tid)
|
||||
return;
|
||||
}
|
||||
|
||||
LOG_I("cleanup thread: %s, stack_addr: %08X", tid->name, tid->stack_addr);
|
||||
LOG_I("cleanup thread: %s, stack_addr: %08X", tid->parent.name, tid->stack_addr);
|
||||
|
||||
level = rt_hw_interrupt_disable();
|
||||
lwp = (struct rt_lwp *)tid->lwp;
|
||||
|
||||
@@ -709,11 +709,11 @@ static void print_thread_info(struct rt_thread* thread, int maxlen)
|
||||
|
||||
#ifdef RT_USING_SMP
|
||||
if (thread->oncpu != RT_CPU_DETACHED)
|
||||
rt_kprintf("%-*.*s %3d %3d ", maxlen, RT_NAME_MAX, thread->name, thread->oncpu, thread->current_priority);
|
||||
rt_kprintf("%-*.*s %3d %3d ", maxlen, RT_NAME_MAX, thread->parent.name, thread->oncpu, thread->current_priority);
|
||||
else
|
||||
rt_kprintf("%-*.*s N/A %3d ", maxlen, RT_NAME_MAX, thread->name, thread->current_priority);
|
||||
rt_kprintf("%-*.*s N/A %3d ", maxlen, RT_NAME_MAX, thread->parent.name, thread->current_priority);
|
||||
#else
|
||||
rt_kprintf("%-*.*s %3d ", maxlen, RT_NAME_MAX, thread->name, thread->current_priority);
|
||||
rt_kprintf("%-*.*s %3d ", maxlen, RT_NAME_MAX, thread->parent.name, thread->current_priority);
|
||||
#endif /*RT_USING_SMP*/
|
||||
|
||||
stat = (thread->stat & RT_THREAD_STAT_MASK);
|
||||
@@ -787,7 +787,7 @@ long list_process(void)
|
||||
|
||||
thread = threads[index];
|
||||
level = rt_hw_interrupt_disable();
|
||||
if ((thread->type & ~RT_Object_Class_Static) != RT_Object_Class_Thread)
|
||||
if ((thread->parent.type & ~RT_Object_Class_Static) != RT_Object_Class_Thread)
|
||||
{
|
||||
rt_hw_interrupt_enable(level);
|
||||
continue;
|
||||
|
||||
@@ -1525,7 +1525,7 @@ long _sys_clone(void *arg[])
|
||||
goto fail;
|
||||
}
|
||||
|
||||
thread = rt_thread_create(self->name,
|
||||
thread = rt_thread_create(self->parent.name,
|
||||
RT_NULL,
|
||||
RT_NULL,
|
||||
self->stack_size,
|
||||
@@ -1713,7 +1713,7 @@ sysret_t _sys_fork(void)
|
||||
/* create thread */
|
||||
self_thread = rt_thread_self();
|
||||
|
||||
thread = rt_thread_create(self_thread->name,
|
||||
thread = rt_thread_create(self_thread->parent.name,
|
||||
RT_NULL,
|
||||
RT_NULL,
|
||||
self_thread->stack_size,
|
||||
@@ -2361,7 +2361,7 @@ sysret_t sys_execve(const char *path, char *const argv[], char *const envp[])
|
||||
/* load ok, now set thread name and swap the data of lwp and new_lwp */
|
||||
level = rt_hw_interrupt_disable();
|
||||
|
||||
rt_strncpy(thread->name, run_name + last_backslash, RT_NAME_MAX);
|
||||
rt_strncpy(thread->parent.name, run_name + last_backslash, RT_NAME_MAX);
|
||||
|
||||
rt_pages_free(page, 0);
|
||||
|
||||
@@ -2420,7 +2420,7 @@ rt_err_t sys_thread_delete(rt_thread_t thread)
|
||||
#else
|
||||
rt_err_t ret = 0;
|
||||
|
||||
if(thread->type != RT_Object_Class_Thread)
|
||||
if(thread->parent.type != RT_Object_Class_Thread)
|
||||
{
|
||||
ret = -EINVAL;
|
||||
goto __exit;
|
||||
|
||||
Reference in New Issue
Block a user