* 修复了wait4的异常报错
@@ -41,8 +41,9 @@ impl Syscall {
) -> Result<usize, SystemError> {
let ret = unsafe { c_sys_wait4(pid, wstatus, options, rusage) };
if (ret as isize) < 0 {
- return Err(SystemError::from_posix_errno(-(ret as isize) as i32)
- .expect("wait4: Invalid errno"));
+ return Err(
+ SystemError::from_posix_errno((ret as isize) as i32).expect("wait4: Invalid errno")
+ );
}
return Ok(ret as usize);
@@ -120,6 +120,12 @@ int rm(const char * path);
*/
void swab(void *restrict src, void *restrict dest, ssize_t nbytes);
+/**
+ * @brief 创建pipe
+ * @param fildes 分别是读端fildes[0]和写端fildes[1]
+ */
+int pipe(int fildes[2]);
+
pid_t getpid(void);
int dup(int fd);