4
0
mirror of https://github.com/RT-Thread/rt-thread.git synced 2025-01-19 11:13:31 +08:00

fix module unload issue

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2000 bbd45198-f89e-11dd-88c7-29a3b14d5316
This commit is contained in:
qiuyiuestc@gmail.com 2012-03-18 03:53:54 +00:00
parent 4421ec8c64
commit b36c286036

View File

@ -911,7 +911,7 @@ rt_err_t rt_module_unload(rt_module_t module)
rt_kprintf("rt_module_unload: %s\n", module->parent.name); rt_kprintf("rt_module_unload: %s\n", module->parent.name);
/* module has entry point */ /* module has entry point */
if ((module->parent.flag & RT_MODULE_FLAG_WITHOUTENTRY) != RT_MODULE_FLAG_WITHOUTENTRY) if (!(module->parent.flag & RT_MODULE_FLAG_WITHOUTENTRY))
{ {
/* suspend module main thread */ /* suspend module main thread */
if (module->module_thread != RT_NULL) if (module->module_thread != RT_NULL)
@ -1109,7 +1109,10 @@ rt_err_t rt_module_unload(rt_module_t module)
} }
#endif #endif
rt_free(module->page_array); #ifdef RT_USING_SLAB
if(module->page_array != RT_NULL)
rt_free(module->page_array);
#endif
/* delete module object */ /* delete module object */
rt_object_delete((rt_object_t)module); rt_object_delete((rt_object_t)module);