소스 검색

[src] scheduler update stackcheck

Aubr.Cool 9 년 전
부모
커밋
99e1b0d29b
1개의 변경된 파일2개의 추가작업 그리고 1개의 파일을 삭제
  1. 2 1
      src/scheduler.c

+ 2 - 1
src/scheduler.c

@@ -89,7 +89,8 @@ static void _rt_scheduler_stack_check(struct rt_thread *thread)
 {
 {
     RT_ASSERT(thread != RT_NULL);
     RT_ASSERT(thread != RT_NULL);
 
 
-    if ((rt_uint32_t)thread->sp <= (rt_uint32_t)thread->stack_addr ||
+    if (*((rt_uint8_t *)thread->stack_addr) != '#' ||
+	(rt_uint32_t)thread->sp <= (rt_uint32_t)thread->stack_addr ||
         (rt_uint32_t)thread->sp >
         (rt_uint32_t)thread->sp >
         (rt_uint32_t)thread->stack_addr + (rt_uint32_t)thread->stack_size)
         (rt_uint32_t)thread->stack_addr + (rt_uint32_t)thread->stack_size)
     {
     {