diff options
Diffstat (limited to 'lib/mlibc/sysdeps/aero/generic/signals.cpp')
-rw-r--r-- | lib/mlibc/sysdeps/aero/generic/signals.cpp | 53 |
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 |