Ver código fonte

fork和clone中直接使用创建者名来创建新线程

shaojinchun 4 anos atrás
pai
commit
d2f640c615
1 arquivos alterados com 2 adições e 9 exclusões
  1. 2 9
      components/lwp/lwp_syscall.c

+ 2 - 9
components/lwp/lwp_syscall.c

@@ -1259,7 +1259,6 @@ long _sys_clone(void *arg[])
     struct rt_lwp *lwp = 0;
     rt_thread_t thread = RT_NULL;
     rt_thread_t self = RT_NULL;
-    char thread_name[RT_NAME_MAX + 1];
     int tid = 0;
 
     unsigned long flags = 0;
@@ -1314,10 +1313,7 @@ long _sys_clone(void *arg[])
         goto fail;
     }
 
-    rt_memcpy(thread_name, self->name, RT_NAME_MAX);
-    thread_name[RT_NAME_MAX] = '\0';
-
-    thread = rt_thread_create(thread_name,
+    thread = rt_thread_create(self->name,
             RT_NULL,
             RT_NULL,
             self->stack_size,
@@ -1461,7 +1457,6 @@ int _sys_fork(void)
     rt_thread_t thread = RT_NULL;
     rt_thread_t self_thread = RT_NULL;
     void *user_stack = RT_NULL;
-    char thread_name[RT_NAME_MAX + 1];
 
     /* new lwp */
     lwp = lwp_new();
@@ -1507,9 +1502,7 @@ int _sys_fork(void)
     /* create thread */
     self_thread = rt_thread_self();
 
-    rt_memcpy(thread_name, self_thread->name, RT_NAME_MAX);
-    thread_name[RT_NAME_MAX] = '\0';
-    thread = rt_thread_create((const char *)thread_name,
+    thread = rt_thread_create(self_thread->name,
             RT_NULL,
             RT_NULL,
             self_thread->stack_size,