[Wisp-cvs] wisp/src/builtin dictbase.wisp,1.233,1.234 stdenv.wisp,1.353,1.354 sys.wisp,1.104,1.105
Status: Alpha
Brought to you by:
digg
From: <di...@us...> - 2002-09-04 14:26:59
|
Update of /cvsroot/wisp/wisp/src/builtin In directory usw-pr-cvs1:/tmp/cvs-serv28473/src/builtin Modified Files: dictbase.wisp stdenv.wisp sys.wisp Log Message: Converted sys.nasm to sys.wth and death.c to death.wth . Index: dictbase.wisp =================================================================== RCS file: /cvsroot/wisp/wisp/src/builtin/dictbase.wisp,v retrieving revision 1.233 retrieving revision 1.234 diff -u -d -r1.233 -r1.234 --- dictbase.wisp 26 Aug 2002 16:18:23 -0000 1.233 +++ dictbase.wisp 4 Sep 2002 14:26:56 -0000 1.234 @@ -155,14 +155,6 @@ (local sys:getppid (asm NN_sys_getppid)) (local sys:getuid (asm NN_sys_getuid)) (local sys:lstat (asm NN_sys_lstat)) -(local sys:ns:close (asm NN_sys_ns_close)) -(local sys:ns:dup (asm NN_sys_ns_dup)) -(local sys:ns:dup2 (asm NN_sys_ns_dup2)) -(local sys:ns:fork (asm NN_sys_ns_fork)) -(local sys:ns:getpgid (asm NN_sys_ns_getpgid)) -(local sys:ns:kill (asm NN_sys_ns_kill)) -(local sys:ns:listen (asm NN_sys_ns_listen)) -(local sys:ns:setsid (asm NN_sys_ns_setsid)) (local sys:select (asm NN_sys_select)) (local sys:stat (asm NN_sys_stat)) (local truncate (asm NN_truncate)) Index: stdenv.wisp =================================================================== RCS file: /cvsroot/wisp/wisp/src/builtin/stdenv.wisp,v retrieving revision 1.353 retrieving revision 1.354 diff -u -d -r1.353 -r1.354 --- stdenv.wisp 26 Aug 2002 16:20:08 -0000 1.353 +++ stdenv.wisp 4 Sep 2002 14:26:56 -0000 1.354 @@ -19,12 +19,10 @@ sys:getcwd sys:getegid sys:geteuid sys:getgid sys:getpgid sys:getpgrp sys:getpid sys:getppid sys:getuid sys:kill sys:link sys:listen sys:lseek sys:lstat sys:mkdir - sys:nanosleep sys:ns:close sys:ns:dup sys:ns:dup2 sys:ns:fork - sys:ns:getpgid sys:ns:kill sys:ns:listen sys:ns:setsid - 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:unlink sys:waitpid - sys:write))))) + 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:unlink sys:waitpid sys:write))))) (define (provide-syscalls target) (for-each (lambda (p) Index: sys.wisp =================================================================== RCS file: /cvsroot/wisp/wisp/src/builtin/sys.wisp,v retrieving revision 1.104 retrieving revision 1.105 diff -u -d -r1.104 -r1.105 --- sys.wisp 26 Aug 2002 16:18:24 -0000 1.104 +++ sys.wisp 4 Sep 2002 14:26:56 -0000 1.105 @@ -16,59 +16,26 @@ (eq? sig 'EAGAIN))) (raise sig datum)))) -(define (sys:setsid) - (my pid (sys:ns:setsid) - (if (negative? pid) - (signal-system-error pid `(sys:setsid)) - pid))) - -(define (sys:fork) - (my pid (sys:ns:fork) - (if (negative? pid) - (signal-system-error pid `(sys:fork)) - pid))) - -(define (sys:close fd) - (my res (sys:ns:close fd) - (if (negative? res) - (signal-system-error res `(sys:close ,fd)) - (begin)))) - -(define (sys:dup fd) - (my res (sys:ns:dup fd) - (if (negative? res) - (signal-system-error res `(sys:dup ,fd)) - res))) - -(define (sys:dup2 oldfd newfd) - (my res (sys:ns:dup2 oldfd newfd) - (if (negative? res) - (signal-system-error res `(sys:dup2 ,oldfd ,newfd)) - res))) - -(define (sys:listen s backlog) - (my res (sys:ns:listen s backlog) - (if (negative? res) - (signal-system-error res `(sys:listen ,s ,backlog)) - (begin)))) - -(define (sys:kill pid sig) - (my res (sys:ns:kill pid sig) - (if (negative? res) - (signal-system-error res `(sys:kill ,pid ,sig)) - (begin)))) - -(define (sys:getpgid pid) - (my res (sys:ns:getpgid pid) - (if (negative? res) - (signal-system-error res `(sys:getpgid ,pid)) - res))) - -(local (sys:setpgid pid pgid) - (my res (encsi ((asm NN_sys_raw_setpgid) (decsi pid) (decsi pgid))) - (if (negative? res) - (signal-system-error res `(sys:setpgid ,pid ,pgid)) - (begin)))) +(metacode + (cons 'begin + (map (lambda (item) + (my (nroot . fargs) item + `(define (,(string->symbol "sys:$[nroot]") ,@fargs) + (my result ((asm ,(string->symbol "NN_sys_ns_$[nroot]")) ,@fargs) + (if (negative? result) + (signal-system-error + result (list ',(string->symbol "sys:$[nroot]") + ,@fargs)) + result))))) + '((close fd) + (dup fd) + (dup2 oldfd newfd) + (fork) + (getpgid pid) + (kill pid sig) + (listen s backlog) + (setpgid pid pgid) + (setsid))))) (local (sys:getpgrp) (sys:getpgid 0)) |