Patch add abort func (#120)

* 对于除了sigkill以外的信号,也加入队列

* bugfix:libc中,注册信号处理函数时,总是注册sigkill的问题

* 增加getpid系统调用

* 增加了raise、kill、abort
This commit is contained in:
login
2022-12-19 15:03:44 +08:00
committed by GitHub
parent 47f0d12a1f
commit c588d6f77f
13 changed files with 155 additions and 52 deletions

View File

@ -1,7 +1,8 @@
#include <libc/src/unistd.h>
#include <libc/src/stdlib.h>
#include <libc/src/ctype.h>
#include <libc/src/stdlib.h>
#include <libc/src/unistd.h>
#include <libsystem/syscall.h>
#include <libc/src/include/signal.h>
int abs(int i)
{
@ -54,4 +55,15 @@ int atoi(const char *str)
void exit(int status)
{
syscall_invoke(SYS_EXIT, status, 0, 0, 0, 0, 0, 0, 0);
}
/**
* @brief 通过发送SIGABRT从而退出当前进程
*
*/
void abort()
{
// step1设置SIGABRT的处理函数为SIG_DFL
signal(SIGABRT, SIG_DFL);
raise(SIGABRT);
}