X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=kitten%2Farch%2Fx86_64%2Fmm%2Ffault.c;fp=kitten%2Farch%2Fx86_64%2Fmm%2Ffault.c;h=afd4f7532e669f6205cb74d56eecd301c122b856;hb=66a1a4c7a9edcd7d8bc207aca093d694a6e6b5b2;hp=0000000000000000000000000000000000000000;hpb=f7cf9c19ecb0a589dd45ae0d2c91814bd3c2acc2;p=palacios.git diff --git a/kitten/arch/x86_64/mm/fault.c b/kitten/arch/x86_64/mm/fault.c new file mode 100644 index 0000000..afd4f75 --- /dev/null +++ b/kitten/arch/x86_64/mm/fault.c @@ -0,0 +1,19 @@ +#include +#include +#include + +/** + * Determines if a signal is unhandled. + * Returns 1 if the signal is unhandled, 0 otherwise. + */ +int +unhandled_signal(struct task_struct *tsk, int sig) +{ + if (is_init(tsk)) + return 1; + if (tsk->ptrace & PT_PTRACED) + return 0; + return (tsk->sighand->action[sig-1].sa.sa_handler == SIG_IGN) || + (tsk->sighand->action[sig-1].sa.sa_handler == SIG_DFL); +} +