Opened threads-internal only for access and replaced runn by run again.
This commit is contained in:
parent
ea5725436e
commit
b79df3d6c1
|
@ -328,8 +328,8 @@
|
|||
wait/poll
|
||||
wait/stopped-children
|
||||
|
||||
sleep
|
||||
sleep-until
|
||||
;sleep
|
||||
;sleep-until
|
||||
|
||||
call-terminally
|
||||
halts?))
|
||||
|
@ -532,7 +532,7 @@
|
|||
|
||||
|
||||
(define-interface scsh-high-level-process-interface
|
||||
(export (runn :syntax)
|
||||
(export (run :syntax)
|
||||
(exec-epf :syntax)
|
||||
(& :syntax)
|
||||
(|| :syntax)
|
||||
|
@ -1148,3 +1148,7 @@
|
|||
interrupt/winch
|
||||
interrupt/xcpu
|
||||
interrupt/xfsz))
|
||||
|
||||
(define-interface locks-interface
|
||||
(export obtain-lock
|
||||
release-lock))
|
|
@ -192,7 +192,7 @@
|
|||
channels channel-i/o
|
||||
low-channels
|
||||
byte-vectors
|
||||
threads threads-internal locks placeholders
|
||||
threads locks placeholders
|
||||
primitives
|
||||
escapes
|
||||
command-levels
|
||||
|
@ -205,6 +205,7 @@
|
|||
escapes
|
||||
i/o ; S48's force-output
|
||||
formats
|
||||
threads-internal
|
||||
records ; I don't think this is necessary. !!!
|
||||
scheme) ; For accessing the normal I/O operators.
|
||||
(files syntax
|
||||
|
|
|
@ -523,7 +523,7 @@
|
|||
|
||||
;; In a subprocess, close the read ports, redirect input from
|
||||
;; the write ports, and run THUNK.
|
||||
(status (runn (begin (for-each close-input-port read-ports)
|
||||
(status (run (begin (for-each close-input-port read-ports)
|
||||
(for-each move->fdes write-ports fds)
|
||||
(thunk)))))
|
||||
|
||||
|
@ -599,7 +599,7 @@
|
|||
|
||||
(define (run/file* thunk)
|
||||
(let ((fname (create-temp-file)))
|
||||
(runn (begin (thunk)) (> ,fname))
|
||||
(run (begin (thunk)) (> ,fname))
|
||||
fname))
|
||||
|
||||
(define (run/string* thunk)
|
||||
|
|
|
@ -355,9 +355,12 @@
|
|||
|
||||
(set-interrupt-handler interrupt/keyboard
|
||||
(lambda stuff
|
||||
(schedule-event scheduler-initial-thread
|
||||
(enum event-type interrupt)
|
||||
(enum interrupt keyboard))))))
|
||||
((structure-ref threads-internal schedule-event)
|
||||
scheduler-initial-thread
|
||||
(enum
|
||||
(structure-ref threads-internal event-type)
|
||||
interrupt)
|
||||
(enum interrupt keyboard))))))
|
||||
|
||||
;;; I am ashamed to say the 33 below is completely bogus.
|
||||
;;; What we want is a value that is 1 + max interrupt value.
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
(define-simple-syntax (& . epf)
|
||||
(fork (lambda () (exec-epf . epf))))
|
||||
|
||||
(define-simple-syntax (runn . epf)
|
||||
(define-simple-syntax (run . epf)
|
||||
(wait (& . epf)))
|
||||
|
||||
;;; Sequencing operators:
|
||||
|
@ -32,9 +32,9 @@
|
|||
|
||||
;;; WARNING: || is not a readable symbol in R4RS.
|
||||
|
||||
(define-simple-syntax (|| pf ...) (or (zero? (runn pf)) ...))
|
||||
(define-simple-syntax (:or: pf ...) (or (zero? (runn pf)) ...))
|
||||
(define-simple-syntax (&& pf ...) (and (zero? (runn pf)) ...))
|
||||
(define-simple-syntax (|| pf ...) (or (zero? (run pf)) ...))
|
||||
(define-simple-syntax (:or: pf ...) (or (zero? (run pf)) ...))
|
||||
(define-simple-syntax (&& pf ...) (and (zero? (run pf)) ...))
|
||||
|
||||
(define-simple-syntax (run/collecting fds . epf)
|
||||
(run/collecting* `fds (lambda () (exec-epf . epf))))
|
||||
|
|
Loading…
Reference in New Issue