From a524eb3846aac4d1b38f08cba49ff3503107042f Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Thu, 3 Apr 2025 12:31:21 -0400 Subject: move old kernel code (for now) into kernel/old, trying to get long mode --- ulib/spawn.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 ulib/spawn.c (limited to 'ulib/spawn.c') diff --git a/ulib/spawn.c b/ulib/spawn.c new file mode 100644 index 0000000..78b1a53 --- /dev/null +++ b/ulib/spawn.c @@ -0,0 +1,32 @@ +#include +#include +#include + +int wait(int32_t *status) +{ + return (waitpid(0, status)); +} + +int spawn(uint_t prog, char **args) +{ + int32_t pid; + + pid = fork(); + if (pid != 0) { + // failure, or we are the parent + return (pid); + } + + // we are the child + pid = getpid(); + + // child inherits parent's priority level + + exec(prog, args); + + // uh-oh.... + + fprintf(stderr, "Child %d exec() #%u failed\n", pid, prog); + + exit(EXIT_FAILURE); +} -- cgit v1.2.3-freya