Selaa lähdekoodia

LibSystem: Add ErrorOr<T> wrapper for sigaction() :^)

Andreas Kling 3 vuotta sitten
vanhempi
commit
3d34216b9a

+ 6 - 0
Userland/Libraries/LibSystem/Wrappers.cpp

@@ -35,4 +35,10 @@ ErrorOr<void> unveil(StringView path, StringView permissions)
     HANDLE_SYSCALL_RETURN_VALUE("unveil"sv, rc);
     HANDLE_SYSCALL_RETURN_VALUE("unveil"sv, rc);
 }
 }
 
 
+ErrorOr<void> sigaction(int signal, struct sigaction const* action, struct sigaction* old_action)
+{
+    int rc = syscall(SC_sigaction, signal, action, old_action);
+    HANDLE_SYSCALL_RETURN_VALUE("sigaction"sv, rc);
+}
+
 }
 }

+ 2 - 0
Userland/Libraries/LibSystem/Wrappers.h

@@ -7,10 +7,12 @@
 #pragma once
 #pragma once
 
 
 #include <AK/Error.h>
 #include <AK/Error.h>
+#include <signal.h>
 
 
 namespace System {
 namespace System {
 
 
 ErrorOr<void> pledge(StringView promises, StringView execpromises);
 ErrorOr<void> pledge(StringView promises, StringView execpromises);
 ErrorOr<void> unveil(StringView path, StringView permissions);
 ErrorOr<void> unveil(StringView path, StringView permissions);
+ErrorOr<void> sigaction(int signal, struct sigaction const* action, struct sigaction* old_action);
 
 
 }
 }