diff options
Diffstat (limited to 'emu/Android/compat/sighold.c')
| -rw-r--r-- | emu/Android/compat/sighold.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/emu/Android/compat/sighold.c b/emu/Android/compat/sighold.c new file mode 100644 index 0000000..528063d --- /dev/null +++ b/emu/Android/compat/sighold.c @@ -0,0 +1,29 @@ +/* + * sighold.c -- emulate sighold() and sigrelse() since bionic doesn't + * supply them + */ + +#include <signal.h> + +static void set_to_int(sigset_t *set, int sig) +{ + sigemptyset(set); + sigaddset(set, sig); +} + +int sighold(int sig) +{ + sigset_t set; + + set_to_int(&set, sig); + return sigprocmask(SIG_BLOCK, &set, NULL); +} + + +int sigrelse(int sig) +{ + sigset_t set; + + set_to_int(&set, sig); + return sigprocmask(SIG_UNBLOCK, &set, NULL); +} |
