From 2c2a96a935f6f11c29ea828a76ecbf555bfdd370 Mon Sep 17 00:00:00 2001 From: 17liamnaddell <liamnprg@gmail.com> Date: Sat, 21 Jul 2018 21:41:47 -0400 Subject: [PATCH] futex and slight changes --- src/syscall/futex.rs | 4 ++++ src/syscall/mod.rs | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/syscall/futex.rs b/src/syscall/futex.rs index d6f5696..a05e8a7 100644 --- a/src/syscall/futex.rs +++ b/src/syscall/futex.rs @@ -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; diff --git a/src/syscall/mod.rs b/src/syscall/mod.rs index 4881acd..f06f1de 100644 --- a/src/syscall/mod.rs +++ b/src/syscall/mod.rs @@ -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> { -- GitLab