mirror of
https://github.com/asterinas/asterinas.git
synced 2025-06-22 17:03:23 +00:00
sigretrun --> sigreturn
This commit is contained in:
committed by
Tate, Hongliang Tian
parent
63be797c2d
commit
e4fd51bc6f
@ -249,7 +249,7 @@ define_syscall_nums!(
|
|||||||
SYS_BRK = 12,
|
SYS_BRK = 12,
|
||||||
SYS_RT_SIGACTION = 13,
|
SYS_RT_SIGACTION = 13,
|
||||||
SYS_RT_SIGPROCMASK = 14,
|
SYS_RT_SIGPROCMASK = 14,
|
||||||
SYS_RT_SIGRETRUN = 15,
|
SYS_RT_SIGRETURN = 15,
|
||||||
SYS_IOCTL = 16,
|
SYS_IOCTL = 16,
|
||||||
SYS_PREAD64 = 17,
|
SYS_PREAD64 = 17,
|
||||||
SYS_WRITEV = 20,
|
SYS_WRITEV = 20,
|
||||||
@ -437,7 +437,7 @@ pub fn syscall_dispatch(
|
|||||||
SYS_BRK => syscall_handler!(1, sys_brk, args),
|
SYS_BRK => syscall_handler!(1, sys_brk, args),
|
||||||
SYS_RT_SIGACTION => syscall_handler!(4, sys_rt_sigaction, args),
|
SYS_RT_SIGACTION => syscall_handler!(4, sys_rt_sigaction, args),
|
||||||
SYS_RT_SIGPROCMASK => syscall_handler!(4, sys_rt_sigprocmask, args),
|
SYS_RT_SIGPROCMASK => syscall_handler!(4, sys_rt_sigprocmask, args),
|
||||||
SYS_RT_SIGRETRUN => syscall_handler!(0, sys_rt_sigreturn, context),
|
SYS_RT_SIGRETURN => syscall_handler!(0, sys_rt_sigreturn, context),
|
||||||
SYS_IOCTL => syscall_handler!(3, sys_ioctl, args),
|
SYS_IOCTL => syscall_handler!(3, sys_ioctl, args),
|
||||||
SYS_PREAD64 => syscall_handler!(4, sys_pread64, args),
|
SYS_PREAD64 => syscall_handler!(4, sys_pread64, args),
|
||||||
SYS_WRITEV => syscall_handler!(3, sys_writev, args),
|
SYS_WRITEV => syscall_handler!(3, sys_writev, args),
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
use aster_frame::cpu::UserContext;
|
use aster_frame::cpu::UserContext;
|
||||||
|
|
||||||
use super::{SyscallReturn, SYS_RT_SIGRETRUN};
|
use super::{SyscallReturn, SYS_RT_SIGRETURN};
|
||||||
use crate::{
|
use crate::{
|
||||||
log_syscall_entry,
|
log_syscall_entry,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
@ -11,12 +11,12 @@ use crate::{
|
|||||||
};
|
};
|
||||||
|
|
||||||
pub fn sys_rt_sigreturn(context: &mut UserContext) -> Result<SyscallReturn> {
|
pub fn sys_rt_sigreturn(context: &mut UserContext) -> Result<SyscallReturn> {
|
||||||
log_syscall_entry!(SYS_RT_SIGRETRUN);
|
log_syscall_entry!(SYS_RT_SIGRETURN);
|
||||||
let current_thread = current_thread!();
|
let current_thread = current_thread!();
|
||||||
let posix_thread = current_thread.as_posix_thread().unwrap();
|
let posix_thread = current_thread.as_posix_thread().unwrap();
|
||||||
let mut sig_context = posix_thread.sig_context().lock();
|
let mut sig_context = posix_thread.sig_context().lock();
|
||||||
if (*sig_context).is_none() {
|
if (*sig_context).is_none() {
|
||||||
return_errno_with_message!(Errno::EINVAL, "sigretrun should not been called");
|
return_errno_with_message!(Errno::EINVAL, "sigreturn should not been called");
|
||||||
}
|
}
|
||||||
let sig_context_addr = sig_context.unwrap();
|
let sig_context_addr = sig_context.unwrap();
|
||||||
// FIXME: This assertion is not always true, if RESTORER flag is not presented.
|
// FIXME: This assertion is not always true, if RESTORER flag is not presented.
|
||||||
|
Reference in New Issue
Block a user