futex and slight changes
This commit is contained in:
@@ -1,3 +1,7 @@
|
||||
//! # Futex
|
||||
//! Futex or Fast Userspace Mutex is "a method for waiting until a certain condition becomes true."
|
||||
//!
|
||||
//! For more information about futexes, please read [this](https://eli.thegreenplace.net/2018/basics-of-futexes/) blog post, and the [futex(2)](http://man7.org/linux/man-pages/man2/futex.2.html) man page
|
||||
use alloc::arc::Arc;
|
||||
use alloc::VecDeque;
|
||||
use core::intrinsics;
|
||||
|
||||
@@ -46,8 +46,8 @@ pub mod time;
|
||||
/// Validate input
|
||||
pub mod validate;
|
||||
|
||||
/// This function is composed of an inner function that returns a `Result<usize>`, then the syscall
|
||||
/// function calls [`Error::mux`] on it
|
||||
/// This function is the syscall handler of the kernel, it is composed of an inner function that returns a `Result<usize>`. After the inner function runs, the syscall
|
||||
/// function calls [`Error::mux`] on it.
|
||||
pub fn syscall(a: usize, b: usize, c: usize, d: usize, e: usize, f: usize, bp: usize, stack: &mut SyscallStack) -> usize {
|
||||
#[inline(always)]
|
||||
fn inner(a: usize, b: usize, c: usize, d: usize, e: usize, f: usize, bp: usize, stack: &mut SyscallStack) -> Result<usize> {
|
||||
|
||||
Reference in New Issue
Block a user