diff options
| author | Bernard Xiong <[email protected]> | 2013-10-17 15:44:20 -0700 |
|---|---|---|
| committer | Bernard Xiong <[email protected]> | 2013-10-17 15:44:20 -0700 |
| commit | 3eac58ce8e71ea7993a1febb159c2b156f3835af (patch) | |
| tree | 2eb771d4bdda6f841172685c42a73fcfb8ef1ad5 /src/thread.c | |
| parent | c29ff6b0ac0456f5275e6a35c8d8ba0ee8d743c1 (diff) | |
| parent | d59aa279c37b7aba07385a3a2cb3057bce6c5fea (diff) | |
Merge pull request #173 from grissiom/new-timer
kernel: use skip list to implement timer list
Diffstat (limited to 'src/thread.c')
| -rw-r--r-- | src/thread.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/thread.c b/src/thread.c index da77ace289..c2282f6ee6 100644 --- a/src/thread.c +++ b/src/thread.c @@ -61,8 +61,7 @@ static void rt_thread_exit(void) 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)); + rt_timer_detach(&thread->thread_timer); if ((rt_object_is_systemobject((rt_object_t)thread) == RT_TRUE) && thread->cleanup == RT_NULL) @@ -613,11 +612,7 @@ rt_err_t rt_thread_resume(rt_thread_t thread) /* remove from suspend list */ rt_list_remove(&(thread->tlist)); - /* remove thread timer */ - rt_list_remove(&(thread->thread_timer.list)); - - /* change timer state */ - thread->thread_timer.parent.flag &= ~RT_TIMER_FLAG_ACTIVATED; + rt_timer_stop(&thread->thread_timer); /* enable interrupt */ rt_hw_interrupt_enable(temp); |
