aboutsummaryrefslogtreecommitdiff
path: root/lib/mlibc/sysdeps/aero/generic/signals.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mlibc/sysdeps/aero/generic/signals.cpp')
-rw-r--r--lib/mlibc/sysdeps/aero/generic/signals.cpp53
1 files changed, 0 insertions, 53 deletions
diff --git a/lib/mlibc/sysdeps/aero/generic/signals.cpp b/lib/mlibc/sysdeps/aero/generic/signals.cpp
deleted file mode 100644
index a6f69ff..0000000
--- a/lib/mlibc/sysdeps/aero/generic/signals.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-#include <mlibc/ansi-sysdeps.hpp>
-#include <mlibc/debug.hpp>
-
-#include <aero/syscall.h>
-#include <sys/types.h>
-
-#define LOG_SIGACTION_INSTALL 0
-
-extern "C" void __mlibc_signal_restore(); // defined in `signals.S`
-
-namespace mlibc {
-int sys_sigaction(int how, const struct sigaction *__restrict action,
- struct sigaction *__restrict old_action) {
-#if LOG_SIGACTION_INSTALL
- mlibc::infoLogger() << "sys_sigaction: signal " << how << frg::endlog;
- mlibc::infoLogger() << "sys_sigaction: size: " << sizeof(*action)
- << frg::endlog;
-
- if (action != NULL) {
- mlibc::infoLogger() << "sys_sigaction: handler "
- << (int64_t)action->sa_handler << frg::endlog;
- mlibc::infoLogger() << "sys_sigaction: action "
- << (int64_t)action->sa_sigaction << frg::endlog;
- mlibc::infoLogger() << "sys_sigaction: flags "
- << (int64_t)action->sa_flags << frg::endlog;
- }
-
- mlibc::infoLogger() << frg::endlog;
-#endif
-
- auto sigreturn = (sc_word_t)__mlibc_signal_restore;
-
- auto res = syscall(SYS_SIGACTION, how, (sc_word_t)action, sigreturn,
- (sc_word_t)old_action);
-
- if (res < 0) {
- return -res;
- }
-
- return 0;
-}
-
-int sys_sigprocmask(int how, const sigset_t *__restrict set,
- sigset_t *__restrict retrieve) {
- auto result = syscall(SYS_SIGPROCMASK, how, set, retrieve);
-
- if (result < 0) {
- return -result;
- }
-
- return 0;
-}
-} // namespace mlibc \ No newline at end of file