Message type for PM_SIG{RETURN,SUSPEND,PROCMASK}
Change-Id: Id20352db47892eb6b870ea64ba52b3b1a293cbaa
This commit is contained in:
@@ -12,7 +12,7 @@ sigset_t *set;
|
||||
|
||||
memset(&m, 0, sizeof(m));
|
||||
if (_syscall(PM_PROC_NR, PM_SIGPENDING, &m) < 0) return(-1);
|
||||
*set = m.PM_SIG_SET;
|
||||
*set = m.m_pm_lc_sigset.set;
|
||||
return(m.m_type);
|
||||
}
|
||||
|
||||
|
||||
@@ -18,14 +18,14 @@ sigset_t *oset;
|
||||
|
||||
memset(&m, 0, sizeof(m));
|
||||
if (set == (sigset_t *) NULL) {
|
||||
m.PM_SIG_HOW = SIG_INQUIRE;
|
||||
sigemptyset(&m.PM_SIG_SET);
|
||||
m.m_lc_pm_sigset.how = SIG_INQUIRE;
|
||||
sigemptyset(&m.m_lc_pm_sigset.set);
|
||||
} else {
|
||||
m.PM_SIG_HOW = how;
|
||||
m.PM_SIG_SET = *set;
|
||||
m.m_lc_pm_sigset.how = how;
|
||||
m.m_lc_pm_sigset.set = *set;
|
||||
}
|
||||
if (_syscall(PM_PROC_NR, PM_SIGPROCMASK, &m) < 0) return(-1);
|
||||
if (oset != (sigset_t *) NULL) *oset = m.PM_SIG_SET;
|
||||
if (oset != NULL) *oset = m.m_pm_lc_sigset.set;
|
||||
|
||||
return(m.m_type);
|
||||
}
|
||||
|
||||
@@ -23,10 +23,10 @@ int sigreturn(struct sigcontext *scp)
|
||||
|
||||
/* Protect against race conditions by blocking all interrupts. */
|
||||
sigfillset(&set); /* splhi */
|
||||
sigprocmask(SIG_SETMASK, &set, (sigset_t *) NULL);
|
||||
sigprocmask(SIG_SETMASK, &set, NULL);
|
||||
|
||||
memset(&m, 0, sizeof(m));
|
||||
m.PM_SIG_SET = scp->sc_mask;
|
||||
m.PM_SIG_CTX = (char *) scp;
|
||||
m.m_lc_pm_sigset.set = scp->sc_mask;
|
||||
m.m_lc_pm_sigset.ctx = (vir_bytes)scp;
|
||||
return(_syscall(PM_PROC_NR, PM_SIGRETURN, &m)); /* normally doesn't return */
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ const sigset_t *set;
|
||||
message m;
|
||||
|
||||
memset(&m, 0, sizeof(m));
|
||||
m.PM_SIG_SET = *set;
|
||||
m.m_lc_pm_sigset.set = *set;
|
||||
return(_syscall(PM_PROC_NR, PM_SIGSUSPEND, &m));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user