summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGrissiom <[email protected]>2013-08-19 10:08:11 +0800
committerGrissiom <[email protected]>2013-08-19 10:08:11 +0800
commitad17bc29087ae699071711ce4d780458879d6367 (patch)
treeb06f7ddf527c5a1d267bff137fada100126cad58 /src
parenta431a2569923b97e2dae983ddc31f9bb56822d14 (diff)
fix debug output of scheduler
When print the thread names, we should use "%.*s" instead of bare "%s".
Diffstat (limited to 'src')
-rw-r--r--src/scheduler.c25
1 files changed, 15 insertions, 10 deletions
diff --git a/src/scheduler.c b/src/scheduler.c
index 4889083f0a..cefc5b8c41 100644
--- a/src/scheduler.c
+++ b/src/scheduler.c
@@ -226,10 +226,12 @@ void rt_schedule(void)
/* switch to new thread */
RT_DEBUG_LOG(RT_DEBUG_SCHEDULER,
- ("[%d]switch to priority#%d thread:%s\n",
- rt_interrupt_nest,
- highest_ready_priority,
- to_thread->name));
+ ("[%d]switch to priority#%d "
+ "thread:%.*s(sp:0x%p), "
+ "from thread:%.*s(sp: 0x%p)\n",
+ rt_interrupt_nest, highest_ready_priority,
+ RT_NAME_MAX, to_thread->name, to_thread->sp,
+ RT_NAME_MAX, from_thread->name, from_thread->sp));
#ifdef RT_USING_OVERFLOW_CHECK
_rt_scheduler_stack_check(to_thread);
@@ -279,11 +281,12 @@ void rt_schedule_insert_thread(struct rt_thread *thread)
/* set priority mask */
#if RT_THREAD_PRIORITY_MAX <= 32
- RT_DEBUG_LOG(RT_DEBUG_SCHEDULER, ("insert thread[%s], the priority: %d\n",
- thread->name, thread->current_priority));
+ RT_DEBUG_LOG(RT_DEBUG_SCHEDULER, ("insert thread[%.*s], the priority: %d\n",
+ RT_NAME_MAX, thread->name, thread->current_priority));
#else
RT_DEBUG_LOG(RT_DEBUG_SCHEDULER,
- ("insert thread[%s], the priority: %d 0x%x %d\n",
+ ("insert thread[%.*s], the priority: %d 0x%x %d\n",
+ RT_NAME_MAX,
thread->name,
thread->number,
thread->number_mask,
@@ -316,11 +319,13 @@ void rt_schedule_remove_thread(struct rt_thread *thread)
temp = rt_hw_interrupt_disable();
#if RT_THREAD_PRIORITY_MAX <= 32
- RT_DEBUG_LOG(RT_DEBUG_SCHEDULER, ("remove thread[%s], the priority: %d\n",
- thread->name, thread->current_priority));
+ RT_DEBUG_LOG(RT_DEBUG_SCHEDULER, ("remove thread[%.*s], the priority: %d\n",
+ RT_NAME_MAX, thread->name,
+ thread->current_priority));
#else
RT_DEBUG_LOG(RT_DEBUG_SCHEDULER,
- ("remove thread[%s], the priority: %d 0x%x %d\n",
+ ("remove thread[%.*s], the priority: %d 0x%x %d\n",
+ RT_NAME_MAX,
thread->name,
thread->number,
thread->number_mask,