From 7e6c37e67e6da62e02089fc3292569103b7e94b3 Mon Sep 17 00:00:00 2001 From: Frans Kaashoek Date: Tue, 10 Sep 2019 12:30:10 -0400 Subject: Support exit status for exit/wait One test case for returning a exit status Passes usertests, but haven't used it to simplify tests --- kernel/sysfile.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'kernel/sysfile.c') diff --git a/kernel/sysfile.c b/kernel/sysfile.c index 23a9540..5b09d93 100644 --- a/kernel/sysfile.c +++ b/kernel/sysfile.c @@ -246,6 +246,7 @@ create(char *path, short type, short major, short minor) if((dp = nameiparent(path, name)) == 0) return 0; + ilock(dp); if((ip = dirlookup(dp, name, 0)) != 0){ @@ -289,8 +290,9 @@ sys_open(void) int fd, omode; struct file *f; struct inode *ip; + int n; - if(argstr(0, path, MAXPATH) < 0 || argint(1, &omode) < 0) + if((n = argstr(0, path, MAXPATH)) < 0 || argint(1, &omode) < 0) return -1; begin_op(); -- cgit v1.2.3