diff options
Diffstat (limited to 'components/libc/compilers/armlibc/syscalls.c')
| -rw-r--r-- | components/libc/compilers/armlibc/syscalls.c | 23 |
1 files changed, 4 insertions, 19 deletions
diff --git a/components/libc/compilers/armlibc/syscalls.c b/components/libc/compilers/armlibc/syscalls.c index 1e08ca1716..43b655e1a6 100644 --- a/components/libc/compilers/armlibc/syscalls.c +++ b/components/libc/compilers/armlibc/syscalls.c @@ -258,23 +258,8 @@ void _ttywrch(int ch) RT_WEAK void _sys_exit(int return_code) { - rt_thread_t self = rt_thread_self(); - -#ifdef RT_USING_MODULE - if (dlmodule_self()) - { - dlmodule_exit(return_code); - } -#endif - - if (self != RT_NULL) - { - rt_kprintf("thread:%-8.*s exit:%d!\n", RT_NAME_MAX, self->name, return_code); - rt_thread_suspend(self); - rt_schedule(); - } - - while(1); /* noreturn */ + extern rt_inline void __exit__(int status); + __exit__(return_code); } /** @@ -320,8 +305,8 @@ int remove(const char *filename) #else int system(const char *string) { - RT_ASSERT(0); - for (;;); + extern rt_inline int __system__(const char *string); + return __system__(string); } #endif |
