diff --git a/src/libos/src/syscall/mod.rs b/src/libos/src/syscall/mod.rs index ebd39052..958b6f71 100644 --- a/src/libos/src/syscall/mod.rs +++ b/src/libos/src/syscall/mod.rs @@ -81,6 +81,7 @@ pub extern "C" fn dispatch_syscall( ), SYS_WAIT4 => do_wait4(arg0 as i32, arg1 as *mut i32), SYS_GETPID => do_getpid(), + SYS_GETTID => do_gettid(), SYS_GETPPID => do_getppid(), SYS_CLONE => do_clone( @@ -534,6 +535,11 @@ fn do_getpid() -> Result { Ok(pid as isize) } +fn do_gettid() -> Result { + let tid = process::do_gettid(); + Ok(tid as isize) +} + fn do_getppid() -> Result { let ppid = process::do_getppid(); Ok(ppid as isize)