futex and slight changes

This commit is contained in:
17liamnaddell
2018-07-21 21:41:47 -04:00
parent c06f403dd2
commit 2c2a96a935
2 changed files with 6 additions and 2 deletions

View File

@@ -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;

View File

@@ -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> {