Update of /cvsroot/wisp/wisp/src/builtin
In directory usw-pr-cvs1:/tmp/cvs-serv3540/src/builtin
Modified Files:
sys.wisp
Log Message:
Dropped |sys:raw:nanosleep|.
Index: sys.wisp
===================================================================
RCS file: /cvsroot/wisp/wisp/src/builtin/sys.wisp,v
retrieving revision 1.108
retrieving revision 1.109
diff -u -d -r1.108 -r1.109
--- sys.wisp 7 Sep 2002 21:51:14 -0000 1.108
+++ sys.wisp 7 Sep 2002 21:51:50 -0000 1.109
@@ -146,24 +146,20 @@
(signal-system-error res `(sys:write ,fd N/A ,delta ,amount) #t)
res))))
-(local (sys:nanosleep a-req)
- (my req (cond
- ((cons? a-req)
- (cons (decsi (car a-req))
- (decsi (cdr a-req))))
- (else
- (raise 'cons? a-req)))
- (my rem (cons '() '())
- (my res (encsi ((asm NN_sys_raw_nanosleep) req rem))
- (cond
- ((zero? res)
- '#t)
- ((= res -4) ; EINTR
- (set! (car rem) (encsi (car rem)))
- (set! (cdr rem) (encsi (cdr rem)))
- rem)
- (else
- (signal-system-error res `(sys:nanosleep ,a-req))))))))
+(local (sys:nanosleep req)
+ (my res ((asm NN_sys_ns_nanosleep)
+ (case req
+ (cons? req)
+ (real? (cons (floor req)
+ (round (* (- req (floor req))
+ 1000 1000 1000))))
+ (else (raise 'real? req))))
+ (cond
+ ((zero? res) (begin))
+ ((cons? res) (if (cons? req)
+ res
+ (+ (car res) (/ (cdr res) 1000 1000 1000))))
+ (else (signal-system-error res `(sys:nanosleep ,req))))))
(define (sys:open name flags mode)
(my fd (encsi ((asm NN_sys_raw_open) (%ws->0t name)
|