提交 9f5878b2 编写于 作者: mysterywolf's avatar mysterywolf

update

上级 e927a53b
...@@ -258,8 +258,9 @@ void _ttywrch(int ch) ...@@ -258,8 +258,9 @@ void _ttywrch(int ch)
RT_WEAK void _sys_exit(int return_code) RT_WEAK void _sys_exit(int return_code)
{ {
extern rt_inline void __exit__(int status); extern void __exit__(int status);
__exit__(return_code); __exit__(return_code);
while(1);
} }
/** /**
...@@ -305,7 +306,7 @@ int remove(const char *filename) ...@@ -305,7 +306,7 @@ int remove(const char *filename)
#else #else
int system(const char *string) int system(const char *string)
{ {
extern rt_inline int __system__(const char *string); extern int __system__(const char *string);
return __system__(string); return __system__(string);
} }
#endif #endif
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
#define ABORT_STATUS 2 #define ABORT_STATUS 2
rt_inline void __exit__(int status) void __exit__(int status)
{ {
rt_thread_t self = rt_thread_self(); rt_thread_t self = rt_thread_self();
...@@ -27,7 +27,7 @@ rt_inline void __exit__(int status) ...@@ -27,7 +27,7 @@ rt_inline void __exit__(int status)
{ {
if(status == ABORT_STATUS) /* abort() */ if(status == ABORT_STATUS) /* abort() */
{ {
rt_kprintf("thread:%s abort!\n", RT_NAME_MAX, self->name, status); rt_kprintf("thread:%s abort!\n", RT_NAME_MAX, self->name);
} }
else /* exit() */ else /* exit() */
{ {
...@@ -36,16 +36,14 @@ rt_inline void __exit__(int status) ...@@ -36,16 +36,14 @@ rt_inline void __exit__(int status)
rt_thread_suspend(self); rt_thread_suspend(self);
rt_schedule(); rt_schedule();
} }
while(1); /* noreturn */
} }
rt_inline void __abort__(void) void __abort__(void)
{ {
__exit__(ABORT_STATUS); __exit__(ABORT_STATUS);
} }
rt_inline int __system__(const char *string) int __system__(const char *string)
{ {
/* TODO */ /* TODO */
return 0; return 0;
......
...@@ -11,12 +11,14 @@ ...@@ -11,12 +11,14 @@
void exit (int status) void exit (int status)
{ {
extern rt_inline void __exit__(int status); extern void __exit__(int status);
__exit__(return_code); __exit__(status);
while(1);
} }
void abort(void) void abort(void)
{ {
extern rt_inline void __abort__(void); extern void __abort__(void);
__abort__(); __abort__();
while(1);
} }
...@@ -286,15 +286,16 @@ _free_r (struct _reent *ptr, void *addr) ...@@ -286,15 +286,16 @@ _free_r (struct _reent *ptr, void *addr)
void void
exit (int status) exit (int status)
{ {
extern rt_inline void __exit__(int status); extern void __exit__(int status);
__exit__(status); __exit__(status);
while(1);
} }
void void
_system(const char *s) _system(const char *s)
{ {
extern rt_inline int __system__(const char *string); extern int __system__(const char *string);
__system__(string); __system__(s);
} }
void __libc_init_array(void) void __libc_init_array(void)
...@@ -304,8 +305,9 @@ void __libc_init_array(void) ...@@ -304,8 +305,9 @@ void __libc_init_array(void)
void abort(void) void abort(void)
{ {
extern rt_inline void __abort__(void); extern void __abort__(void);
__abort__(); __abort__();
while(1);
} }
uid_t getuid(void) uid_t getuid(void)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册