Add InitTrampoline and HasPendingSignal function

This commit is contained in:
EnderIce2
2024-03-03 23:58:05 +02:00
parent e69ace7fdc
commit c2b595452e
2 changed files with 68 additions and 52 deletions

View File

@ -21,7 +21,7 @@
#include <syscalls.hpp>
#include <lock.hpp>
#include <types.h>
#include <vector>
#include <list>
#include <syscall/linux/signals.hpp>
enum Signals : int
@ -388,11 +388,11 @@ namespace Tasking
void *TrampAddr = nullptr;
size_t TrampSz = 0;
std::vector<SignalInfo> SignalQueue;
std::list<SignalInfo> SignalQueue;
std::atomic<sigset_t> SignalMask = 0;
sigaction SignalAction[SIGNAL_MAX]{};
SignalDisposition sigDisp[SIGNAL_MAX];
std::vector<SignalInfo> Watchers;
std::list<SignalInfo> Watchers;
bool LinuxSig();
@ -404,6 +404,8 @@ namespace Tasking
int MakeExitCode(int sig);
void InitTrampoline();
const sigset_t nMasks = ToFlag(SIGKILL) |
ToFlag(SIGSTOP) |
ToFlag(SIGCONT) |
@ -502,6 +504,7 @@ namespace Tasking
int SendSignal(int sig, union sigval val = {0});
int WaitAnySignal();
bool HasPendingSignal();
/**
* Wait for a signal