forked from KolibriOS/umka
24 lines
476 B
C
24 lines
476 B
C
#include <setjmp.h>
|
|
#define __USE_GNU
|
|
#include <signal.h>
|
|
#include <stddef.h>
|
|
|
|
sigset_t mask;
|
|
|
|
void reset_procmask(void) {
|
|
sigemptyset (&mask);
|
|
sigaddset (&mask, SIGPROF);
|
|
sigprocmask(SIG_UNBLOCK, &mask, NULL);
|
|
}
|
|
|
|
void set_procmask(void) {
|
|
sigemptyset (&mask);
|
|
sigaddset (&mask, SIGPROF);
|
|
sigprocmask(SIG_BLOCK, &mask, NULL);
|
|
}
|
|
|
|
int get_fake_if(ucontext_t *ctx) {
|
|
// we fake IF with id flag
|
|
return !(ctx->uc_mcontext.__gregs[REG_EFL] & (1 << 21));
|
|
}
|