aboutsummaryrefslogtreecommitdiff
path: root/common/uapi/proc.c
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2022-10-21 16:06:00 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2022-10-21 16:06:00 +0300
commita06dbb8a63d825ebb1ad65372ce1ce1f572891bc (patch)
tree342f74db0777a76eed64830ded71db16399e983d /common/uapi/proc.c
parent00d3ae26dfd7c91c0817e71d71636982680d0b28 (diff)
downloadkmi-a06dbb8a63d825ebb1ad65372ce1ce1f572891bc.tar.gz
kmi-a06dbb8a63d825ebb1ad65372ce1ce1f572891bc.zip
initial spawn implementation
Diffstat (limited to 'common/uapi/proc.c')
-rw-r--r--common/uapi/proc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/common/uapi/proc.c b/common/uapi/proc.c
index d1d2bd7..a668246 100644
--- a/common/uapi/proc.c
+++ b/common/uapi/proc.c
@@ -91,7 +91,11 @@ SYSCALL_DEFINE2(exec)(sys_arg_t bin, sys_arg_t interp){
*/
SYSCALL_DEFINE2(spawn)(sys_arg_t bin, sys_arg_t interp)
{
- /* @todo implement */
+ struct tcb *t = create_proc(NULL);
+ if (!t)
+ return (struct sys_ret){ERR_OOMEM, 0, 0, 0, 0, 0};
+
+ return (struct sys_ret){prepare_proc(t, bin, interp), t->pid, 0, 0, 0, 0};
}
/**