feat: support for SIGALRM
[lunaix-os.git] / lunaix-os / kernel / asm / x86 / pfault.c
index 30fd498605d721f9c3d782210a37b186b4fa7ce9..fcf373997f926dc58d73314e3df81ac02443c0dc 100644 (file)
@@ -1,5 +1,6 @@
 #include <arch/x86/interrupts.h>
 #include <lunaix/common.h>
+#include <lunaix/lxsignal.h>
 #include <lunaix/mm/mm.h>
 #include <lunaix/mm/pmm.h>
 #include <lunaix/mm/region.h>
@@ -92,7 +93,8 @@ segv_term:
             ptr,
             param->cs,
             param->eip);
-    terminate_proc(LXSEGFAULT);
+    __SIGSET(__current->sig_pending, _SIGSEGV);
+    schedule();
     // should not reach
     while (1)
         ;