1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-01 10:38:13 +00:00

Kernel+LibC: Implement sigaltstack()

This is required for compiling wine for serenity
This commit is contained in:
Idan Horowitz 2021-10-28 23:33:41 +03:00
parent d5d0eb45bf
commit f415218afe
9 changed files with 229 additions and 2 deletions

View file

@ -42,6 +42,19 @@ struct sigaction {
int sa_flags;
};
typedef struct {
void* ss_sp;
int ss_flags;
size_t ss_size;
} stack_t;
#define SS_ONSTACK 1
#define SS_DISABLE 2
// FIXME: These values are arbitrary, and might be platform dependent
#define MINSIGSTKSZ 4096 // Minimum allowed
#define SIGSTKSZ 32768 // Recommended size
#define SIG_DFL ((__sighandler_t)0)
#define SIG_ERR ((__sighandler_t)-1)
#define SIG_IGN ((__sighandler_t)1)

View file

@ -172,6 +172,7 @@ enum class NeedsBigProcessLock {
S(setuid, NeedsBigProcessLock::Yes) \
S(shutdown, NeedsBigProcessLock::Yes) \
S(sigaction, NeedsBigProcessLock::Yes) \
S(sigaltstack, NeedsBigProcessLock::Yes) \
S(sigpending, NeedsBigProcessLock::Yes) \
S(sigprocmask, NeedsBigProcessLock::Yes) \
S(sigreturn, NeedsBigProcessLock::Yes) \