#include <mach/exception.h>
#include <kern/thread.h>
+#include <kern/ast.h>
#include <sys/systm.h>
#include <sys/param.h>
}
void
-sendsig(struct proc *p, user_addr_t ua_catcher, int sig, int mask, __unused uint32_t code)
+sendsig(struct proc *p, user_addr_t ua_catcher, int sig, int mask, __unused uint32_t code, sigset_t siginfo)
{
union {
struct mcontext_avx32 mctx_avx32;
thread = current_thread();
ut = get_bsdthread_info(thread);
- if (p->p_sigacts->ps_siginfo & sigmask(sig)) {
+ if (siginfo & sigmask(sig)) {
infostyle = UC_FLAVOR;
}
return 0;
}
+ /* see osfmk/kern/restartable.c */
+ act_set_ast_reset_pcs(thread);
+
bzero(mctxp, sizeof(*mctxp));
sig_xstate = current_xstate();