Remove check_sem in semop

This commit is contained in:
Yuke Peng
2024-08-25 15:34:42 +08:00
committed by Tate, Hongliang Tian
parent 4b1f2f720e
commit 83a4366a72

View File

@ -6,8 +6,7 @@ use super::SyscallReturn;
use crate::{ use crate::{
ipc::semaphore::system_v::{ ipc::semaphore::system_v::{
sem::{sem_op, SemBuf}, sem::{sem_op, SemBuf},
sem_set::{check_sem, SEMOPM}, sem_set::SEMOPM,
PermissionMode,
}, },
prelude::*, prelude::*,
time::timespec_t, time::timespec_t,
@ -61,9 +60,6 @@ fn do_sys_semtimedop(
for i in 0..nsops { for i in 0..nsops {
let sem_buf = let sem_buf =
CurrentUserSpace::get().read_val::<SemBuf>(tsops + size_of::<SemBuf>() * i)?; CurrentUserSpace::get().read_val::<SemBuf>(tsops + size_of::<SemBuf>() * i)?;
if sem_buf.sem_op() != 0 {
check_sem(sem_id, None, PermissionMode::ALTER)?;
}
sem_op(sem_id, sem_buf, timeout, ctx)?; sem_op(sem_id, sem_buf, timeout, ctx)?;
} }