Browse Source

fixed the coding style in thread.c

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2505 bbd45198-f89e-11dd-88c7-29a3b14d5316
dzzxzz@gmail.com 12 years ago
parent
commit
6bb7cc6015
1 changed files with 373 additions and 352 deletions
  1. 373 352
      src/thread.c

+ 373 - 352
src/thread.c

@@ -18,10 +18,11 @@
  * 2006-09-03     Bernard      changed rt_timer_delete to rt_timer_detach
  * 2006-09-03     Bernard      implement rt_thread_detach
  * 2008-02-16     Bernard      fixed the rt_thread_timeout bug
- * 2010-03-21     Bernard      change the errno of rt_thread_delay/sleep to RT_EOK.
+ * 2010-03-21     Bernard      change the errno of rt_thread_delay/sleep to
+ *                             RT_EOK.
  * 2010-11-10     Bernard      add cleanup callback function in thread exit.
- * 2011-09-01     Bernard      fixed rt_thread_exit issue when the current thread preempted, 
- *                             which reported by Jiaxing Lee.
+ * 2011-09-01     Bernard      fixed rt_thread_exit issue when the current
+ *                             thread preempted, which reported by Jiaxing Lee.
  * 2011-09-08     Bernard      fixed the scheduling issue in rt_thread_startup.
  */
 
@@ -34,90 +35,93 @@ extern rt_list_t rt_thread_defunct;
 
 static void rt_thread_exit(void)
 {
-	struct rt_thread *thread;
-	register rt_base_t level;
-
-	/* get current thread */
-	thread = rt_current_thread;
-
-	/* disable interrupt */
-	level = rt_hw_interrupt_disable();
-
-	/* remove from schedule */
-	rt_schedule_remove_thread(thread);
-	/* change stat */
-	thread->stat = RT_THREAD_CLOSE;
-
-	/* remove it from timer list */
-	rt_list_remove(&(thread->thread_timer.list));
-	rt_object_detach((rt_object_t)&(thread->thread_timer));
-
-	if ((rt_object_is_systemobject((rt_object_t)thread) == RT_TRUE) &&
-		thread->cleanup == RT_NULL)
-	{
-		rt_object_detach((rt_object_t)thread);
-	}
-	else
-	{
-		/* insert to defunct thread list */
-		rt_list_insert_after(&rt_thread_defunct, &(thread->tlist));
-	}
-
-	/* enable interrupt */
-	rt_hw_interrupt_enable(level);
-
-	/* switch to next task */
-	rt_schedule();
+    struct rt_thread *thread;
+    register rt_base_t level;
+
+    /* get current thread */
+    thread = rt_current_thread;
+
+    /* disable interrupt */
+    level = rt_hw_interrupt_disable();
+
+    /* remove from schedule */
+    rt_schedule_remove_thread(thread);
+    /* change stat */
+    thread->stat = RT_THREAD_CLOSE;
+
+    /* remove it from timer list */
+    rt_list_remove(&(thread->thread_timer.list));
+    rt_object_detach((rt_object_t)&(thread->thread_timer));
+
+    if ((rt_object_is_systemobject((rt_object_t)thread) == RT_TRUE) &&
+        thread->cleanup == RT_NULL)
+    {
+        rt_object_detach((rt_object_t)thread);
+    }
+    else
+    {
+        /* insert to defunct thread list */
+        rt_list_insert_after(&rt_thread_defunct, &(thread->tlist));
+    }
+
+    /* enable interrupt */
+    rt_hw_interrupt_enable(level);
+
+    /* switch to next task */
+    rt_schedule();
 }
 
 static rt_err_t _rt_thread_init(struct rt_thread *thread,
-	const char *name,
-	void (*entry)(void *parameter), void *parameter,
-	void *stack_start, rt_uint32_t stack_size,
-	rt_uint8_t priority, rt_uint32_t tick)
+                                const char       *name,
+                                void (*entry)(void *parameter),
+                                void             *parameter,
+                                void             *stack_start,
+                                rt_uint32_t       stack_size,
+                                rt_uint8_t        priority,
+                                rt_uint32_t       tick)
 {
-	/* init thread list */
-	rt_list_init(&(thread->tlist));
-
-	thread->entry = (void *)entry;
-	thread->parameter = parameter;
-
-	/* stack init */
-	thread->stack_addr = stack_start;
-	thread->stack_size = stack_size;
-
-	/* init thread stack */
-	rt_memset(thread->stack_addr, '#', thread->stack_size);
-	thread->sp = (void *)rt_hw_stack_init(thread->entry, thread->parameter,
-		(void *) ((char *)thread->stack_addr + thread->stack_size - 4),
-		(void *)rt_thread_exit);
-
-	/* priority init */
-	RT_ASSERT(priority < RT_THREAD_PRIORITY_MAX);
-	thread->init_priority = priority;
-	thread->current_priority = priority;
-
-	/* tick init */
-	thread->init_tick = tick;
-	thread->remaining_tick = tick;
-
-	/* error and flags */
-	thread->error = RT_EOK;
-	thread->stat  = RT_THREAD_INIT;
-
-	/* initialize cleanup function and user data */
-	thread->cleanup = 0;
-	thread->user_data = 0;
-
-	/* init thread timer */
-	rt_timer_init(&(thread->thread_timer),
-		thread->name,
-		rt_thread_timeout,
-		thread,
-		0,
-		RT_TIMER_FLAG_ONE_SHOT);
-
-	return RT_EOK;
+    /* init thread list */
+    rt_list_init(&(thread->tlist));
+
+    thread->entry = (void *)entry;
+    thread->parameter = parameter;
+
+    /* stack init */
+    thread->stack_addr = stack_start;
+    thread->stack_size = stack_size;
+
+    /* init thread stack */
+    rt_memset(thread->stack_addr, '#', thread->stack_size);
+    thread->sp = (void *)rt_hw_stack_init(thread->entry, thread->parameter,
+        (void *)((char *)thread->stack_addr + thread->stack_size - 4),
+        (void *)rt_thread_exit);
+
+    /* priority init */
+    RT_ASSERT(priority < RT_THREAD_PRIORITY_MAX);
+    thread->init_priority    = priority;
+    thread->current_priority = priority;
+
+    /* tick init */
+    thread->init_tick      = tick;
+    thread->remaining_tick = tick;
+
+    /* error and flags */
+    thread->error = RT_EOK;
+    thread->stat  = RT_THREAD_INIT;
+
+    /* initialize cleanup function and user data */
+    thread->cleanup   = 0;
+    thread->user_data = 0;
+
+    /* init thread timer */
+    rt_timer_init(&(thread->thread_timer),
+                  thread->name,
+                  rt_thread_timeout,
+                  thread,
+                  0,
+                  RT_TIMER_FLAG_ONE_SHOT);
+
+    return RT_EOK;
 }
 
 /**
@@ -142,21 +146,29 @@ static rt_err_t _rt_thread_init(struct rt_thread *thread,
  * @return the operation status, RT_EOK on OK, -RT_ERROR on error
  */
 rt_err_t rt_thread_init(struct rt_thread *thread,
-	const char *name,
-	void (*entry)(void *parameter), void *parameter,
-	void *stack_start, rt_uint32_t stack_size,
-	rt_uint8_t priority, rt_uint32_t tick)
+                        const char       *name,
+                        void (*entry)(void *parameter),
+                        void             *parameter,
+                        void             *stack_start,
+                        rt_uint32_t       stack_size,
+                        rt_uint8_t        priority,
+                        rt_uint32_t       tick)
 {
-	/* thread check */
-	RT_ASSERT(thread != RT_NULL);
-	RT_ASSERT(stack_start != RT_NULL);
-
-	/* init thread object */
-	rt_object_init((rt_object_t)thread, RT_Object_Class_Thread, name);
-
-	return _rt_thread_init(thread, name, entry, parameter,
-		stack_start, stack_size,
-		priority, tick);
+    /* thread check */
+    RT_ASSERT(thread != RT_NULL);
+    RT_ASSERT(stack_start != RT_NULL);
+
+    /* init thread object */
+    rt_object_init((rt_object_t)thread, RT_Object_Class_Thread, name);
+
+    return _rt_thread_init(thread,
+                           name,
+                           entry,
+                           parameter,
+                           stack_start,
+                           stack_size,
+                           priority,
+                           tick);
 }
 RTM_EXPORT(rt_thread_init);
 
@@ -167,7 +179,7 @@ RTM_EXPORT(rt_thread_init);
  */
 rt_thread_t rt_thread_self(void)
 {
-	return rt_current_thread;
+    return rt_current_thread;
 }
 RTM_EXPORT(rt_thread_self);
 
@@ -180,35 +192,35 @@ RTM_EXPORT(rt_thread_self);
  */
 rt_err_t rt_thread_startup(rt_thread_t thread)
 {
-	/* thread check */
-	RT_ASSERT(thread != RT_NULL);
-	RT_ASSERT(thread->stat == RT_THREAD_INIT);
+    /* thread check */
+    RT_ASSERT(thread != RT_NULL);
+    RT_ASSERT(thread->stat == RT_THREAD_INIT);
 
-	/* set current priority to init priority */
-	thread->current_priority = thread->init_priority;
+    /* set current priority to init priority */
+    thread->current_priority = thread->init_priority;
 
-	/* calculate priority attribute */
+    /* calculate priority attribute */
 #if RT_THREAD_PRIORITY_MAX > 32
-	thread->number      = thread->current_priority >> 3; 			/* 5bit */
-	thread->number_mask = 1L << thread->number;
-	thread->high_mask   = 1L << (thread->current_priority & 0x07); 	/* 3bit */
+    thread->number      = thread->current_priority >> 3;            /* 5bit */
+    thread->number_mask = 1L << thread->number;
+    thread->high_mask   = 1L << (thread->current_priority & 0x07);  /* 3bit */
 #else
-	thread->number_mask = 1L << thread->current_priority;
+    thread->number_mask = 1L << thread->current_priority;
 #endif
 
-	RT_DEBUG_LOG(RT_DEBUG_THREAD, ("startup a thread:%s with priority:%d\n",
+    RT_DEBUG_LOG(RT_DEBUG_THREAD, ("startup a thread:%s with priority:%d\n",
                                    thread->name, thread->init_priority));
-	/* change thread stat */
-	thread->stat = RT_THREAD_SUSPEND;
-	/* then resume it */
-	rt_thread_resume(thread);
-	if (rt_thread_self() != RT_NULL)
-	{
-		/* do a scheduling */
-		rt_schedule();
-	}
-
-	return RT_EOK;
+    /* change thread stat */
+    thread->stat = RT_THREAD_SUSPEND;
+    /* then resume it */
+    rt_thread_resume(thread);
+    if (rt_thread_self() != RT_NULL)
+    {
+        /* do a scheduling */
+        rt_schedule();
+    }
+
+    return RT_EOK;
 }
 RTM_EXPORT(rt_thread_startup);
 
@@ -222,36 +234,36 @@ RTM_EXPORT(rt_thread_startup);
  */
 rt_err_t rt_thread_detach(rt_thread_t thread)
 {
-	rt_base_t lock;
+    rt_base_t lock;
 
-	/* thread check */
-	RT_ASSERT(thread != RT_NULL);
+    /* thread check */
+    RT_ASSERT(thread != RT_NULL);
 
-	/* remove from schedule */
-	rt_schedule_remove_thread(thread);
+    /* remove from schedule */
+    rt_schedule_remove_thread(thread);
 
-	/* release thread timer */
-	rt_timer_detach(&(thread->thread_timer));
+    /* release thread timer */
+    rt_timer_detach(&(thread->thread_timer));
 
-	/* change stat */
-	thread->stat = RT_THREAD_CLOSE;
+    /* change stat */
+    thread->stat = RT_THREAD_CLOSE;
 
-	/* detach object */
-	rt_object_detach((rt_object_t)thread);
+    /* detach object */
+    rt_object_detach((rt_object_t)thread);
 
-	if (thread->cleanup != RT_NULL)
-	{
-		/* disable interrupt */
-		lock = rt_hw_interrupt_disable();
+    if (thread->cleanup != RT_NULL)
+    {
+        /* disable interrupt */
+        lock = rt_hw_interrupt_disable();
 
-		/* insert to defunct thread list */
-		rt_list_insert_after(&rt_thread_defunct, &(thread->tlist));
+        /* insert to defunct thread list */
+        rt_list_insert_after(&rt_thread_defunct, &(thread->tlist));
 
-		/* enable interrupt */
-		rt_hw_interrupt_enable(lock);
-	}
+        /* enable interrupt */
+        rt_hw_interrupt_enable(lock);
+    }
 
-	return RT_EOK;
+    return RT_EOK;
 }
 RTM_EXPORT(rt_thread_detach);
 
@@ -271,32 +283,38 @@ RTM_EXPORT(rt_thread_detach);
  * @return the created thread object
  */
 rt_thread_t rt_thread_create(const char *name,
-	void (*entry)(void *parameter), void *parameter,
-	rt_uint32_t stack_size,
-	rt_uint8_t priority,
-	rt_uint32_t tick)
+    void (*entry)(void *parameter), void *parameter,
+    rt_uint32_t stack_size,
+    rt_uint8_t priority,
+    rt_uint32_t tick)
 {
-	struct rt_thread *thread;
-	void *stack_start;
-
-	thread = (struct rt_thread *)rt_object_allocate(RT_Object_Class_Thread, name);
-	if (thread == RT_NULL)
-		return RT_NULL;
-
-	stack_start = (void *)rt_malloc(stack_size);
-	if (stack_start == RT_NULL)
-	{
-		/* allocate stack failure */
-		rt_object_delete((rt_object_t)thread);
-
-		return RT_NULL; 
-	}
-
-	_rt_thread_init(thread, name, entry, parameter,
-		stack_start, stack_size,
-		priority, tick);
-
-	return thread;
+    struct rt_thread *thread;
+    void *stack_start;
+
+    thread = (struct rt_thread *)rt_object_allocate(RT_Object_Class_Thread,
+                                                    name);
+    if (thread == RT_NULL)
+        return RT_NULL;
+
+    stack_start = (void *)rt_malloc(stack_size);
+    if (stack_start == RT_NULL)
+    {
+        /* allocate stack failure */
+        rt_object_delete((rt_object_t)thread);
+
+        return RT_NULL;
+    }
+
+    _rt_thread_init(thread,
+                    name,
+                    entry,
+                    parameter,
+                    stack_start,
+                    stack_size,
+                    priority,
+                    tick);
+
+    return thread;
 }
 RTM_EXPORT(rt_thread_create);
 
@@ -310,30 +328,30 @@ RTM_EXPORT(rt_thread_create);
  */
 rt_err_t rt_thread_delete(rt_thread_t thread)
 {
-	rt_base_t lock;
+    rt_base_t lock;
 
-	/* thread check */
-	RT_ASSERT(thread != RT_NULL);
+    /* thread check */
+    RT_ASSERT(thread != RT_NULL);
 
-	/* remove from schedule */
-	rt_schedule_remove_thread(thread);
+    /* remove from schedule */
+    rt_schedule_remove_thread(thread);
 
-	/* release thread timer */
-	rt_timer_detach(&(thread->thread_timer));
+    /* release thread timer */
+    rt_timer_detach(&(thread->thread_timer));
 
-	/* change stat */
-	thread->stat = RT_THREAD_CLOSE;
+    /* change stat */
+    thread->stat = RT_THREAD_CLOSE;
 
-	/* disable interrupt */
-	lock = rt_hw_interrupt_disable();
+    /* disable interrupt */
+    lock = rt_hw_interrupt_disable();
 
-	/* insert to defunct thread list */
-	rt_list_insert_after(&rt_thread_defunct, &(thread->tlist));
+    /* insert to defunct thread list */
+    rt_list_insert_after(&rt_thread_defunct, &(thread->tlist));
 
-	/* enable interrupt */
-	rt_hw_interrupt_enable(lock);
+    /* enable interrupt */
+    rt_hw_interrupt_enable(lock);
 
-	return RT_EOK;
+    return RT_EOK;
 }
 RTM_EXPORT(rt_thread_delete);
 #endif
@@ -347,37 +365,38 @@ RTM_EXPORT(rt_thread_delete);
  */
 rt_err_t rt_thread_yield(void)
 {
-	register rt_base_t level;
-	struct rt_thread *thread;
+    register rt_base_t level;
+    struct rt_thread *thread;
 
-	/* disable interrupt */
-	level = rt_hw_interrupt_disable();
+    /* disable interrupt */
+    level = rt_hw_interrupt_disable();
 
-	/* set to current thread */
-	thread = rt_current_thread;
+    /* set to current thread */
+    thread = rt_current_thread;
 
-	/* if the thread stat is READY and on ready queue list */
-	if (thread->stat == RT_THREAD_READY && thread->tlist.next != thread->tlist.prev)
-	{
-		/* remove thread from thread list */
-		rt_list_remove(&(thread->tlist));
+    /* if the thread stat is READY and on ready queue list */
+    if (thread->stat == RT_THREAD_READY &&
+        thread->tlist.next != thread->tlist.prev)
+    {
+        /* remove thread from thread list */
+        rt_list_remove(&(thread->tlist));
 
-		/* put thread to end of ready queue */
-		rt_list_insert_before(&(rt_thread_priority_table[thread->current_priority]),
-			&(thread->tlist));
+        /* put thread to end of ready queue */
+        rt_list_insert_before(&(rt_thread_priority_table[thread->current_priority]),
+                              &(thread->tlist));
 
-		/* enable interrupt */
-		rt_hw_interrupt_enable(level);
+        /* enable interrupt */
+        rt_hw_interrupt_enable(level);
 
-		rt_schedule();
+        rt_schedule();
 
-		return RT_EOK;
-	}
+        return RT_EOK;
+    }
 
-	/* enable interrupt */
-	rt_hw_interrupt_enable(level);
+    /* enable interrupt */
+    rt_hw_interrupt_enable(level);
 
-	return RT_EOK;
+    return RT_EOK;
 }
 RTM_EXPORT(rt_thread_yield);
 
@@ -390,32 +409,32 @@ RTM_EXPORT(rt_thread_yield);
  */
 rt_err_t rt_thread_sleep(rt_tick_t tick)
 {
-	register rt_base_t temp;
-	struct rt_thread *thread;
+    register rt_base_t temp;
+    struct rt_thread *thread;
 
-	/* disable interrupt */
-	temp = rt_hw_interrupt_disable();
-	/* set to current thread */
-	thread = rt_current_thread;
-	RT_ASSERT(thread != RT_NULL);
+    /* disable interrupt */
+    temp = rt_hw_interrupt_disable();
+    /* set to current thread */
+    thread = rt_current_thread;
+    RT_ASSERT(thread != RT_NULL);
 
-	/* suspend thread */
-	rt_thread_suspend(thread);
+    /* suspend thread */
+    rt_thread_suspend(thread);
 
-	/* reset the timeout of thread timer and start it */
-	rt_timer_control(&(thread->thread_timer), RT_TIMER_CTRL_SET_TIME, &tick);
-	rt_timer_start(&(thread->thread_timer));
+    /* reset the timeout of thread timer and start it */
+    rt_timer_control(&(thread->thread_timer), RT_TIMER_CTRL_SET_TIME, &tick);
+    rt_timer_start(&(thread->thread_timer));
 
-	/* enable interrupt */
-	rt_hw_interrupt_enable(temp);
+    /* enable interrupt */
+    rt_hw_interrupt_enable(temp);
 
-	rt_schedule();
+    rt_schedule();
 
-	/* clear error number of this thread to RT_EOK */
-	if (thread->error == -RT_ETIMEOUT)
-		thread->error = RT_EOK;
+    /* clear error number of this thread to RT_EOK */
+    if (thread->error == -RT_ETIMEOUT)
+        thread->error = RT_EOK;
 
-	return RT_EOK;
+    return RT_EOK;
 }
 
 /**
@@ -427,7 +446,7 @@ rt_err_t rt_thread_sleep(rt_tick_t tick)
  */
 rt_err_t rt_thread_delay(rt_tick_t tick)
 {
-	return rt_thread_sleep(tick);
+    return rt_thread_sleep(tick);
 }
 RTM_EXPORT(rt_thread_delay);
 
@@ -436,7 +455,7 @@ RTM_EXPORT(rt_thread_delay);
  *
  * @param thread the specified thread to be controlled
  * @param cmd the control command, which includes
- * 	RT_THREAD_CTRL_CHANGE_PRIORITY for changing priority level of thread;
+ *  RT_THREAD_CTRL_CHANGE_PRIORITY for changing priority level of thread;
  *  RT_THREAD_CTRL_STARTUP for starting a thread;
  *  RT_THREAD_CTRL_CLOSE for delete a thread.
  * @param arg the argument of control command
@@ -445,69 +464,69 @@ RTM_EXPORT(rt_thread_delay);
  */
 rt_err_t rt_thread_control(rt_thread_t thread, rt_uint8_t cmd, void *arg)
 {
-	register rt_base_t temp;
+    register rt_base_t temp;
 
-	/* thread check */
-	RT_ASSERT(thread != RT_NULL);
+    /* thread check */
+    RT_ASSERT(thread != RT_NULL);
 
-	switch (cmd)
-	{
-	case RT_THREAD_CTRL_CHANGE_PRIORITY:
-		/* disable interrupt */
-		temp = rt_hw_interrupt_disable();
+    switch (cmd)
+    {
+    case RT_THREAD_CTRL_CHANGE_PRIORITY:
+        /* disable interrupt */
+        temp = rt_hw_interrupt_disable();
 
-		/* for ready thread, change queue */
-		if (thread->stat == RT_THREAD_READY)
-		{
-			/* remove thread from schedule queue first */
-			rt_schedule_remove_thread(thread);
+        /* for ready thread, change queue */
+        if (thread->stat == RT_THREAD_READY)
+        {
+            /* remove thread from schedule queue first */
+            rt_schedule_remove_thread(thread);
 
-			/* change thread priority */
-			thread->current_priority = *(rt_uint8_t *)arg;
+            /* change thread priority */
+            thread->current_priority = *(rt_uint8_t *)arg;
 
-			/* recalculate priority attribute */
+            /* recalculate priority attribute */
 #if RT_THREAD_PRIORITY_MAX > 32
-			thread->number      = thread->current_priority >> 3; 			/* 5bit */
-			thread->number_mask = 1 << thread->number;
-			thread->high_mask   = 1 << (thread->current_priority & 0x07); 	/* 3bit */
+            thread->number      = thread->current_priority >> 3;            /* 5bit */
+            thread->number_mask = 1 << thread->number;
+            thread->high_mask   = 1 << (thread->current_priority & 0x07);   /* 3bit */
 #else
-			thread->number_mask = 1 << thread->current_priority;
+            thread->number_mask = 1 << thread->current_priority;
 #endif
 
-			/* insert thread to schedule queue again */
-			rt_schedule_insert_thread(thread);
-		}
-		else
-		{
-			thread->current_priority = *(rt_uint8_t *)arg;
+            /* insert thread to schedule queue again */
+            rt_schedule_insert_thread(thread);
+        }
+        else
+        {
+            thread->current_priority = *(rt_uint8_t *)arg;
 
-			/* recalculate priority attribute */
+            /* recalculate priority attribute */
 #if RT_THREAD_PRIORITY_MAX > 32
-			thread->number      = thread->current_priority >> 3; 			/* 5bit */
-			thread->number_mask = 1 << thread->number;
-			thread->high_mask   = 1 << (thread->current_priority & 0x07); 	/* 3bit */
+            thread->number      = thread->current_priority >> 3;            /* 5bit */
+            thread->number_mask = 1 << thread->number;
+            thread->high_mask   = 1 << (thread->current_priority & 0x07);   /* 3bit */
 #else
-			thread->number_mask = 1 << thread->current_priority;
+            thread->number_mask = 1 << thread->current_priority;
 #endif
-		}
+        }
 
-		/* enable interrupt */
-		rt_hw_interrupt_enable(temp);
-		break;
+        /* enable interrupt */
+        rt_hw_interrupt_enable(temp);
+        break;
 
-	case RT_THREAD_CTRL_STARTUP:
-		return rt_thread_startup(thread);
+    case RT_THREAD_CTRL_STARTUP:
+        return rt_thread_startup(thread);
 
 #ifdef RT_USING_HEAP
-	case RT_THREAD_CTRL_CLOSE:
-		return rt_thread_delete(thread);
+    case RT_THREAD_CTRL_CLOSE:
+        return rt_thread_delete(thread);
 #endif
 
-	default:
-		break;
-	}
+    default:
+        break;
+    }
 
-	return RT_EOK;
+    return RT_EOK;
 }
 RTM_EXPORT(rt_thread_control);
 
@@ -523,32 +542,32 @@ RTM_EXPORT(rt_thread_control);
  */
 rt_err_t rt_thread_suspend(rt_thread_t thread)
 {
-	register rt_base_t temp;
+    register rt_base_t temp;
 
-	/* thread check */
-	RT_ASSERT(thread != RT_NULL);
+    /* thread check */
+    RT_ASSERT(thread != RT_NULL);
 
-	RT_DEBUG_LOG(RT_DEBUG_THREAD, ("thread suspend:  %s\n", thread->name));
+    RT_DEBUG_LOG(RT_DEBUG_THREAD, ("thread suspend:  %s\n", thread->name));
 
-	if (thread->stat != RT_THREAD_READY)
-	{
-		RT_DEBUG_LOG(RT_DEBUG_THREAD, ("thread suspend: thread disorder, %d\n",
+    if (thread->stat != RT_THREAD_READY)
+    {
+        RT_DEBUG_LOG(RT_DEBUG_THREAD, ("thread suspend: thread disorder, %d\n",
                                        thread->stat));
-		
-		return -RT_ERROR;
-	}
+        
+        return -RT_ERROR;
+    }
 
-	/* disable interrupt */
-	temp = rt_hw_interrupt_disable();
+    /* disable interrupt */
+    temp = rt_hw_interrupt_disable();
 
-	/* change thread stat */
-	thread->stat = RT_THREAD_SUSPEND;
-	rt_schedule_remove_thread(thread);
+    /* change thread stat */
+    thread->stat = RT_THREAD_SUSPEND;
+    rt_schedule_remove_thread(thread);
 
-	/* enable interrupt */
-	rt_hw_interrupt_enable(temp);
+    /* enable interrupt */
+    rt_hw_interrupt_enable(temp);
 
-	return RT_EOK;
+    return RT_EOK;
 }
 RTM_EXPORT(rt_thread_suspend);
 
@@ -561,40 +580,40 @@ RTM_EXPORT(rt_thread_suspend);
  */
 rt_err_t rt_thread_resume(rt_thread_t thread)
 {
-	register rt_base_t temp;
+    register rt_base_t temp;
 
-	/* thread check */
-	RT_ASSERT(thread != RT_NULL);
+    /* thread check */
+    RT_ASSERT(thread != RT_NULL);
 
-	RT_DEBUG_LOG(RT_DEBUG_THREAD, ("thread resume:  %s\n", thread->name));
+    RT_DEBUG_LOG(RT_DEBUG_THREAD, ("thread resume:  %s\n", thread->name));
 
-	if (thread->stat != RT_THREAD_SUSPEND)
-	{
-		RT_DEBUG_LOG(RT_DEBUG_THREAD, ("thread resume: thread disorder, %d\n",
+    if (thread->stat != RT_THREAD_SUSPEND)
+    {
+        RT_DEBUG_LOG(RT_DEBUG_THREAD, ("thread resume: thread disorder, %d\n",
                                        thread->stat));
 
-		return -RT_ERROR;
-	}
+        return -RT_ERROR;
+    }
 
-	/* disable interrupt */
-	temp = rt_hw_interrupt_disable();
+    /* disable interrupt */
+    temp = rt_hw_interrupt_disable();
 
-	/* remove from suspend list */
-	rt_list_remove(&(thread->tlist));
+    /* remove from suspend list */
+    rt_list_remove(&(thread->tlist));
 
-	/* remove thread timer */
-	rt_list_remove(&(thread->thread_timer.list));
+    /* remove thread timer */
+    rt_list_remove(&(thread->thread_timer.list));
 
-	/* change timer state */
-	thread->thread_timer.parent.flag &= ~RT_TIMER_FLAG_ACTIVATED;
+    /* change timer state */
+    thread->thread_timer.parent.flag &= ~RT_TIMER_FLAG_ACTIVATED;
 
-	/* enable interrupt */
-	rt_hw_interrupt_enable(temp);
+    /* enable interrupt */
+    rt_hw_interrupt_enable(temp);
 
-	/* insert to schedule ready list */
-	rt_schedule_insert_thread(thread);
+    /* insert to schedule ready list */
+    rt_schedule_insert_thread(thread);
 
-	return RT_EOK;
+    return RT_EOK;
 }
 RTM_EXPORT(rt_thread_resume);
 
@@ -606,25 +625,25 @@ RTM_EXPORT(rt_thread_resume);
  */
 void rt_thread_timeout(void *parameter)
 {
-	struct rt_thread *thread;
+    struct rt_thread *thread;
 
-	thread = (struct rt_thread *)parameter;
+    thread = (struct rt_thread *)parameter;
 
-	/* thread check */
-	RT_ASSERT(thread != RT_NULL);
-	RT_ASSERT(thread->stat == RT_THREAD_SUSPEND);
+    /* thread check */
+    RT_ASSERT(thread != RT_NULL);
+    RT_ASSERT(thread->stat == RT_THREAD_SUSPEND);
 
-	/* set error number */
-	thread->error = -RT_ETIMEOUT;
+    /* set error number */
+    thread->error = -RT_ETIMEOUT;
 
-	/* remove from suspend list */
-	rt_list_remove(&(thread->tlist));
+    /* remove from suspend list */
+    rt_list_remove(&(thread->tlist));
 
-	/* insert to schedule ready list */
-	rt_schedule_insert_thread(thread);
+    /* insert to schedule ready list */
+    rt_schedule_insert_thread(thread);
 
-	/* do schedule */
-	rt_schedule();
+    /* do schedule */
+    rt_schedule();
 }
 RTM_EXPORT(rt_thread_timeout);
 
@@ -639,37 +658,39 @@ RTM_EXPORT(rt_thread_timeout);
  */
 rt_thread_t rt_thread_find(char *name)
 {
-	struct rt_object_information *information;
-	struct rt_object *object;
-	struct rt_list_node *node;
-
-	extern struct rt_object_information rt_object_container[];
-
-	/* enter critical */
-	if (rt_thread_self() != RT_NULL)
-		rt_enter_critical();
-
-	/* try to find device object */
-	information = &rt_object_container[RT_Object_Class_Thread];
-	for (node = information->object_list.next; node != &(information->object_list); node = node->next)
-	{
-		object = rt_list_entry(node, struct rt_object, list);
-		if (rt_strncmp(object->name, name, RT_NAME_MAX) == 0)
-		{
-			/* leave critical */
-			if (rt_thread_self() != RT_NULL)
-				rt_exit_critical();
-
-			return (rt_thread_t)object;
-		}
-	}
-
-	/* leave critical */
-	if (rt_thread_self() != RT_NULL)
-		rt_exit_critical();
-
-	/* not found */
-	return RT_NULL;
+    struct rt_object_information *information;
+    struct rt_object *object;
+    struct rt_list_node *node;
+
+    extern struct rt_object_information rt_object_container[];
+
+    /* enter critical */
+    if (rt_thread_self() != RT_NULL)
+        rt_enter_critical();
+
+    /* try to find device object */
+    information = &rt_object_container[RT_Object_Class_Thread];
+    for (node  = information->object_list.next;
+         node != &(information->object_list);
+         node  = node->next)
+    {
+        object = rt_list_entry(node, struct rt_object, list);
+        if (rt_strncmp(object->name, name, RT_NAME_MAX) == 0)
+        {
+            /* leave critical */
+            if (rt_thread_self() != RT_NULL)
+                rt_exit_critical();
+
+            return (rt_thread_t)object;
+        }
+    }
+
+    /* leave critical */
+    if (rt_thread_self() != RT_NULL)
+        rt_exit_critical();
+
+    /* not found */
+    return RT_NULL;
 }
 RTM_EXPORT(rt_thread_find);