diff options
Diffstat (limited to 'libc/sysdeps/linux/common/_exit.c')
| -rw-r--r-- | libc/sysdeps/linux/common/_exit.c | 10 | 
1 files changed, 10 insertions, 0 deletions
| diff --git a/libc/sysdeps/linux/common/_exit.c b/libc/sysdeps/linux/common/_exit.c index 6cece0878..51117d109 100644 --- a/libc/sysdeps/linux/common/_exit.c +++ b/libc/sysdeps/linux/common/_exit.c @@ -12,13 +12,23 @@  #include <unistd.h>  #include <sys/types.h>  #include <sys/syscall.h> +#ifdef __UCLIBC_HAS_THREADS_NATIVE__ +#include <sysdep.h> +#endif  void attribute_noreturn _exit(int status)  {  	/* The loop is added only to keep gcc happy. */  	while(1) +	{ +#ifdef __UCLIBC_HAS_THREADS_NATIVE__ +# ifdef __NR_exit_group +		INLINE_SYSCALL(exit_group, 1, status); +# endif +#endif  		INLINE_SYSCALL(exit, 1, status); +	}  }  libc_hidden_def(_exit)  weak_alias(_exit,_Exit) | 
