#| -*-Scheme-*-
-$Id: io.scm,v 14.52 1998/01/08 05:58:22 cph Exp $
+$Id: io.scm,v 14.53 1998/01/08 05:58:35 cph Exp $
-Copyright (c) 1988-97 Massachusetts Institute of Technology
+Copyright (c) 1988-98 Massachusetts Institute of Technology
This material was developed by the Scheme project at the Massachusetts
Institute of Technology, Department of Electrical Engineering and
#| -*-Scheme-*-
-$Id: process.scm,v 1.20 1997/10/24 06:47:56 cph Exp $
+$Id: process.scm,v 1.21 1998/01/08 05:58:54 cph Exp $
-Copyright (c) 1989-97 Massachusetts Institute of Technology
+Copyright (c) 1989-98 Massachusetts Institute of Technology
This material was developed by the Scheme project at the Massachusetts
Institute of Technology, Department of Electrical Engineering and
(and (output-port? port)
port)))
+(define (close-subprocess-i/o process)
+ (without-interrupts (lambda () (%close-subprocess-i/o process))))
+
(define (%close-subprocess-i/o process)
;; Assumes that interrupts are locked.
(cond ((subprocess-%i/o-port process)
((2) 'EXITED)
((3) 'SIGNALLED)
(else (error "Illegal process status:" status))))
-\f
+
(define (subprocess-job-control-status process)
(let ((n
((ucode-primitive process-job-control-status 1)
((2) 'NO-JOB-CONTROL)
((3) 'JOB-CONTROL)
(else (error "Illegal process job-control status:" n)))))
+\f
+(define (handle-subprocess-status-change)
+ (if (eq? 'NT microcode-id/operating-system)
+ (for-each (lambda (process)
+ (if (memq (subprocess-status process) '(EXITED SIGNALLED))
+ (close-subprocess-i/o process)))
+ subprocesses)))
(define-integrable subprocess-job-control-available?
(ucode-primitive os-job-control? 0))
(define (maybe-close-subprocess-i/o process)
(if (eq? 'NT microcode-id/operating-system)
- (without-interrupts (lambda () (%close-subprocess-i/o process)))))
+ (close-subprocess-i/o process)))
(define (subprocess-stop process)
((ucode-primitive process-stop 1) (subprocess-index process)))
#| -*-Scheme-*-
-$Id: runtime.pkg,v 14.288 1997/11/01 07:36:14 cph Exp $
+$Id: runtime.pkg,v 14.289 1998/01/08 05:59:11 cph Exp $
-Copyright (c) 1988-97 Massachusetts Institute of Technology
+Copyright (c) 1988-98 Massachusetts Institute of Technology
This material was developed by the Scheme project at the Massachusetts
Institute of Technology, Department of Electrical Engineering and
subprocess-stop
subprocess-wait
subprocess?)
+ (export (runtime primitive-io)
+ handle-subprocess-status-change)
(initialization (initialize-package!)))
(define-package (runtime graphics)
#| -*-Scheme-*-
-$Id: runtime.pkg,v 14.294 1997/11/01 07:35:47 cph Exp $
+$Id: runtime.pkg,v 14.295 1998/01/08 05:59:01 cph Exp $
-Copyright (c) 1988-97 Massachusetts Institute of Technology
+Copyright (c) 1988-98 Massachusetts Institute of Technology
This material was developed by the Scheme project at the Massachusetts
Institute of Technology, Department of Electrical Engineering and
subprocess-stop
subprocess-wait
subprocess?)
+ (export (runtime primitive-io)
+ handle-subprocess-status-change)
(initialization (initialize-package!)))
(define-package (runtime graphics)