瀏覽代碼

LibCore: Add syscall wrapper for fork()

Andreas Kling 3 年之前
父節點
當前提交
2637a64130
共有 2 個文件被更改,包括 9 次插入0 次删除
  1. 8 0
      Userland/Libraries/LibCore/System.cpp
  2. 1 0
      Userland/Libraries/LibCore/System.h

+ 8 - 0
Userland/Libraries/LibCore/System.cpp

@@ -480,4 +480,12 @@ ErrorOr<void> mkdir(StringView path, mode_t mode)
 #endif
 }
 
+ErrorOr<pid_t> fork()
+{
+    pid_t pid = ::fork();
+    if (pid < 0)
+        return Error::from_syscall("fork"sv, -errno);
+    return pid;
+}
+
 }

+ 1 - 0
Userland/Libraries/LibCore/System.h

@@ -64,5 +64,6 @@ ErrorOr<void> setegid(gid_t);
 ErrorOr<bool> isatty(int fd);
 ErrorOr<void> symlink(StringView target, StringView link_path);
 ErrorOr<void> mkdir(StringView path, mode_t);
+ErrorOr<pid_t> fork();
 
 }