[Wisp-cvs] wisp/src/builtin dictbase.wisp,1.234,1.235 stdenv.wisp,1.354,1.355 sys.wisp,1.105,1.106
Status: Alpha
Brought to you by:
digg
From: <di...@us...> - 2002-09-04 14:28:40
|
Update of /cvsroot/wisp/wisp/src/builtin In directory usw-pr-cvs1:/tmp/cvs-serv29208/src/builtin Modified Files: dictbase.wisp stdenv.wisp sys.wisp Log Message: Implemented |sys:sync| and dropped |sys:raw:accept|, |sys:raw:chdir|, |sys:raw:chmod|, |sys:raw:ftruncate|, |sys:raw:link|, |sys:raw:mkdir|, |sys:raw:pipe|, |sys:raw:rename|, |sys:raw:symlink|, |sys:raw:truncate|, and |sys:raw:unlink|. Index: dictbase.wisp =================================================================== RCS file: /cvsroot/wisp/wisp/src/builtin/dictbase.wisp,v retrieving revision 1.234 retrieving revision 1.235 diff -u -d -r1.234 -r1.235 --- dictbase.wisp 4 Sep 2002 14:26:56 -0000 1.234 +++ dictbase.wisp 4 Sep 2002 14:28:37 -0000 1.235 @@ -157,6 +157,7 @@ (local sys:lstat (asm NN_sys_lstat)) (local sys:select (asm NN_sys_select)) (local sys:stat (asm NN_sys_stat)) +(local sys:sync (asm NN_sys_sync)) (local truncate (asm NN_truncate)) (local type-of (asm NN_type_of)) (local unix-time (asm NN_unix_time)) Index: stdenv.wisp =================================================================== RCS file: /cvsroot/wisp/wisp/src/builtin/stdenv.wisp,v retrieving revision 1.354 retrieving revision 1.355 diff -u -d -r1.354 -r1.355 --- stdenv.wisp 4 Sep 2002 14:26:56 -0000 1.354 +++ stdenv.wisp 4 Sep 2002 14:28:37 -0000 1.355 @@ -11,8 +11,8 @@ (cons 'list (map (lambda (x) `(cons ',x ,x)) - '(fdset-ref make-fdset sys:accept sys:chdir sys:chmod sys:close - sys:dup sys:dup2 sys:errno->name sys:execve sys:exit + '(fdset-ref make-fdset sys:chdir sys:chmod sys:close sys:dup + sys:dup2 sys:errno->name sys:execve sys:exit sys:fcntl:cloexec sys:fcntl:dupfd sys:fcntl:flags sys:fcntl:getlk sys:fcntl:setlk sys:fcntl:setlkw sys:for-dir-entries sys:fork sys:fstat sys:ftruncate @@ -21,7 +21,7 @@ sys:link sys:listen sys:lseek sys:lstat sys:mkdir sys:nanosleep sys:open sys:pipe sys:read sys:rename sys:select sys:setpgid sys:setpgrp sys:setsid sys:stat - sys:symlink sys:tcgetattr sys:tcsetattr sys:truncate + sys:symlink sys:sync sys:tcgetattr sys:tcsetattr sys:truncate sys:unlink sys:waitpid sys:write))))) (define (provide-syscalls target) Index: sys.wisp =================================================================== RCS file: /cvsroot/wisp/wisp/src/builtin/sys.wisp,v retrieving revision 1.105 retrieving revision 1.106 diff -u -d -r1.105 -r1.106 --- sys.wisp 4 Sep 2002 14:26:56 -0000 1.105 +++ sys.wisp 4 Sep 2002 14:28:37 -0000 1.106 @@ -22,20 +22,31 @@ (my (nroot . fargs) item `(define (,(string->symbol "sys:$[nroot]") ,@fargs) (my result ((asm ,(string->symbol "NN_sys_ns_$[nroot]")) ,@fargs) - (if (negative? result) + (if (and (integer? result) + (negative? result)) (signal-system-error result (list ',(string->symbol "sys:$[nroot]") ,@fargs)) result))))) - '((close fd) + '((chdir dir) + (chmod name mode) + (close fd) (dup fd) (dup2 oldfd newfd) (fork) + (ftruncate fd len) (getpgid pid) (kill pid sig) + (link oldname newname) (listen s backlog) + (mkdir name mode) + (pipe) + (rename oldname newname) (setpgid pid pgid) - (setsid))))) + (setsid) + (symlink oldname newname) + (truncate filename len) + (unlink name))))) (local (sys:getpgrp) (sys:getpgid 0)) @@ -43,49 +54,6 @@ (local (sys:setpgrp) (sys:setpgid 0 0)) -(local (sys:pipe) - (my filedes (cons '() '()) - (my res (encsi ((asm NN_sys_raw_pipe) filedes)) - (if (negative? res) - (signal-system-error res `(sys:pipe)) - (cons (encui (car filedes)) (encui (cdr filedes))))))) - -(local (sys:mkdir name mode) - (my res (encsi ((asm NN_sys_raw_mkdir) (%ws->0t name) (decui mode))) - (if (negative? res) - (signal-system-error res `(sys:mkdir ,name ,mode)) - (begin)))) - -(local (sys:unlink name) - (my res (encsi ((asm NN_sys_raw_unlink) (%ws->0t name))) - (if (negative? res) - (signal-system-error res `(sys:unlink ,name)) - (begin)))) - -(local (sys:chmod name mode) - (my res (encsi ((asm NN_sys_raw_chmod) (%ws->0t name) (decui mode))) - (if (negative? res) - (signal-system-error res `(sys:chmod ,name ,mode)) - (begin)))) - -(local (sys:link oldname newname) - (my res (encsi ((asm NN_sys_raw_link) (%ws->0t oldname) (%ws->0t newname))) - (if (negative? res) - (signal-system-error res `(sys:link ,oldname ,newname)) - (begin)))) - -(local (sys:rename oldname newname) - (my res (encsi ((asm NN_sys_raw_rename) (%ws->0t oldname) (%ws->0t newname))) - (if (negative? res) - (signal-system-error res `(sys:rename ,oldname ,newname)) - (begin)))) - -(local (sys:symlink oldname newname) - (my res (encsi ((asm NN_sys_raw_symlink) (%ws->0t oldname) (%ws->0t newname))) - (if (negative? res) - (signal-system-error res `(sys:link ,oldname ,newname)) - (begin)))) - (local (sys:getcwd) (my size 16 (let (loop) @@ -101,24 +69,6 @@ (asm ((decui (- res 1)) s . buffer) pt (s . 2) p (s . 1) (tn . 9) s0) s))))))) -(local (sys:chdir name) - (my res (encsi ((asm NN_sys_raw_chdir) (%ws->0t name))) - (if (negative? res) - (signal-system-error res `(sys:chdir ,name)) - (begin)))) - -(local (sys:truncate name len) - (my res (encsi ((asm NN_sys_raw_truncate) (%ws->0t name) (decsi len))) - (if (negative? res) - (signal-system-error res `(sys:truncate ,name ,len)) - (begin)))) - -(local (sys:ftruncate fd len) - (my res (encsi ((asm NN_sys_raw_ftruncate) (decui fd) (decsi len))) - (if (negative? res) - (signal-system-error res `(sys:ftruncate ,fd ,len)) - (begin)))) - (local (sys:lseek fd ofs whence) (my res (encsi ((asm NN_sys_raw_lseek) (decui fd) (decsi ofs) (decui whence))) (if (negative? res) @@ -141,12 +91,6 @@ (%wsv->0tv argv) (%wsv->0tv envp))) `(sys:execve ,filename ,argv ,envp))) - -(local (sys:accept socket) - (my res (encsi ((asm NN_sys_raw_accept) (decui socket) '() '())) - (if (negative? res) - (signal-system-error res `(sys:accept ,socket) #t) - res))) ; options is an integer, bitwise-or'ed: ; 1=WNOHANG, 2=WUNTRACED (the way Linux defines them) |