Opened threads-internal only for access and replaced runn by run again.

This commit is contained in:
marting 2000-06-28 10:30:59 +00:00
parent ea5725436e
commit b79df3d6c1
5 changed files with 21 additions and 13 deletions

View File

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

View File

@ -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

View File

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

View File

@ -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.

View File

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