summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbernard.xiong <[email protected]>2010-11-30 05:20:41 +0000
committerbernard.xiong <[email protected]>2010-11-30 05:20:41 +0000
commit30967678b19480c39840abafc69290c3375689c7 (patch)
tree656d6fc81fb61587db36a46a629b87cf05176442 /src
parent1e5518ee84fa3704cd16fd8aa909302f2833012d (diff)
fix compiling issue when RT_USING_HEAP is not defined.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1149 bbd45198-f89e-11dd-88c7-29a3b14d5316
Diffstat (limited to 'src')
-rw-r--r--src/idle.c6
-rw-r--r--src/scheduler.c8
-rw-r--r--src/thread.c3
3 files changed, 8 insertions, 9 deletions
diff --git a/src/idle.c b/src/idle.c
index bb6edebfcc..49466b81b4 100644
--- a/src/idle.c
+++ b/src/idle.c
@@ -27,9 +27,7 @@ static struct rt_thread idle;
ALIGN(RT_ALIGN_SIZE)
static rt_uint8_t rt_thread_stack[IDLE_THREAD_STACK_SIZE];
-#ifdef RT_USING_HEAP
extern rt_list_t rt_thread_defunct;
-#endif
#ifdef RT_USING_HOOK
/**
@@ -60,7 +58,6 @@ void rt_thread_idle_sethook(void (*hook)())
*/
void rt_thread_idle_excute(void)
{
-#ifdef RT_USING_HEAP
/* check the defunct thread list */
if (!rt_list_isempty(&rt_thread_defunct))
{
@@ -113,6 +110,7 @@ void rt_thread_idle_excute(void)
/* enable interrupt */
rt_hw_interrupt_enable(lock);
+#ifdef RT_USING_HEAP
#ifdef RT_USING_MODULE
/* the thread belongs to an application module */
if(thread->flags & RT_OBJECT_FLAG_MODULE)
@@ -138,8 +136,8 @@ void rt_thread_idle_excute(void)
/* unload module */
if(module->nref == 0) rt_module_unload(module);
#endif
- }
#endif
+ }
}
static void rt_thread_idle_entry(void* parameter)
diff --git a/src/scheduler.c b/src/scheduler.c
index ccc8f12ae9..9ce552f70e 100644
--- a/src/scheduler.c
+++ b/src/scheduler.c
@@ -48,9 +48,7 @@ rt_uint8_t rt_thread_ready_table[32];
rt_uint32_t rt_thread_ready_priority_group;
#endif
-#ifdef RT_USING_HEAP
rt_list_t rt_thread_defunct;
-#endif
const rt_uint8_t rt_lowest_bitmap[] =
{
@@ -106,6 +104,12 @@ static void _rt_scheduler_stack_check(struct rt_thread* thread)
rt_uint32_t level;
rt_kprintf("thread:%s stack overflow\n", thread->name);
+ #ifdef RT_USING_FINSH
+ {
+ extern long list_thread(void);
+ list_thread();
+ }
+ #endif
level = rt_hw_interrupt_disable();
while (level);
}
diff --git a/src/thread.c b/src/thread.c
index 0f6b658ea6..26d263afcb 100644
--- a/src/thread.c
+++ b/src/thread.c
@@ -31,10 +31,7 @@
extern rt_list_t rt_thread_priority_table[RT_THREAD_PRIORITY_MAX];
extern struct rt_thread* rt_current_thread;
extern rt_uint8_t rt_current_priority;
-
-#ifdef RT_USING_HEAP
extern rt_list_t rt_thread_defunct;
-#endif
static void rt_thread_exit(void);
void rt_thread_timeout(void* parameter);