[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)
|