summaryrefslogtreecommitdiffstats
path: root/sys/pc98
diff options
context:
space:
mode:
authorkato <kato@FreeBSD.org>2002-04-11 09:45:41 +0000
committerkato <kato@FreeBSD.org>2002-04-11 09:45:41 +0000
commit4c6efe7dae78c40a2aa1b7e226611b6bae31aeea (patch)
treefba700c906647d9e408c70c3af7f57635b4a2564 /sys/pc98
parent961ff64e432f09c00e012312f7e00bcbd8c037ff (diff)
downloadFreeBSD-src-4c6efe7dae78c40a2aa1b7e226611b6bae31aeea.zip
FreeBSD-src-4c6efe7dae78c40a2aa1b7e226611b6bae31aeea.tar.gz
MFi386: revision 1.517.
Diffstat (limited to 'sys/pc98')
-rw-r--r--sys/pc98/i386/machdep.c14
-rw-r--r--sys/pc98/pc98/machdep.c14
2 files changed, 18 insertions, 10 deletions
diff --git a/sys/pc98/i386/machdep.c b/sys/pc98/i386/machdep.c
index 6c395ed..86ec0ef 100644
--- a/sys/pc98/i386/machdep.c
+++ b/sys/pc98/i386/machdep.c
@@ -548,6 +548,8 @@ sendsig(catcher, sig, mask, code)
* context left by sendsig. Check carefully to
* make sure that the user has not modified the
* state to gain improper privileges.
+ *
+ * MPSAFE
*/
int
osigreturn(td, uap)
@@ -644,6 +646,10 @@ osigreturn(td, uap)
regs->tf_cs = scp->sc_cs;
regs->tf_ss = scp->sc_ss;
regs->tf_isp = scp->sc_isp;
+ regs->tf_ebp = scp->sc_fp;
+ regs->tf_esp = scp->sc_sp;
+ regs->tf_eip = scp->sc_pc;
+ regs->tf_eflags = eflags;
PROC_LOCK(p);
#if defined(COMPAT_43) || defined(COMPAT_SUNOS)
@@ -652,21 +658,19 @@ osigreturn(td, uap)
else
p->p_sigstk.ss_flags &= ~SS_ONSTACK;
#endif
-
SIGSETOLD(p->p_sigmask, scp->sc_mask);
SIG_CANTMASK(p->p_sigmask);
signotify(p);
PROC_UNLOCK(p);
- regs->tf_ebp = scp->sc_fp;
- regs->tf_esp = scp->sc_sp;
- regs->tf_eip = scp->sc_pc;
- regs->tf_eflags = eflags;
return (EJUSTRETURN);
#else /* !COMPAT_43 */
return (ENOSYS);
#endif /* COMPAT_43 */
}
+/*
+ * MPSAFE
+ */
int
sigreturn(td, uap)
struct thread *td;
diff --git a/sys/pc98/pc98/machdep.c b/sys/pc98/pc98/machdep.c
index 6c395ed..86ec0ef 100644
--- a/sys/pc98/pc98/machdep.c
+++ b/sys/pc98/pc98/machdep.c
@@ -548,6 +548,8 @@ sendsig(catcher, sig, mask, code)
* context left by sendsig. Check carefully to
* make sure that the user has not modified the
* state to gain improper privileges.
+ *
+ * MPSAFE
*/
int
osigreturn(td, uap)
@@ -644,6 +646,10 @@ osigreturn(td, uap)
regs->tf_cs = scp->sc_cs;
regs->tf_ss = scp->sc_ss;
regs->tf_isp = scp->sc_isp;
+ regs->tf_ebp = scp->sc_fp;
+ regs->tf_esp = scp->sc_sp;
+ regs->tf_eip = scp->sc_pc;
+ regs->tf_eflags = eflags;
PROC_LOCK(p);
#if defined(COMPAT_43) || defined(COMPAT_SUNOS)
@@ -652,21 +658,19 @@ osigreturn(td, uap)
else
p->p_sigstk.ss_flags &= ~SS_ONSTACK;
#endif
-
SIGSETOLD(p->p_sigmask, scp->sc_mask);
SIG_CANTMASK(p->p_sigmask);
signotify(p);
PROC_UNLOCK(p);
- regs->tf_ebp = scp->sc_fp;
- regs->tf_esp = scp->sc_sp;
- regs->tf_eip = scp->sc_pc;
- regs->tf_eflags = eflags;
return (EJUSTRETURN);
#else /* !COMPAT_43 */
return (ENOSYS);
#endif /* COMPAT_43 */
}
+/*
+ * MPSAFE
+ */
int
sigreturn(td, uap)
struct thread *td;
OpenPOWER on IntegriCloud