Add new procedures for microcode 11.67: `channel-register',
authorChris Hanson <org/chris-hanson/cph>
Mon, 11 Mar 1991 23:48:20 +0000 (23:48 +0000)
committerChris Hanson <org/chris-hanson/cph>
Mon, 11 Mar 1991 23:48:20 +0000 (23:48 +0000)
`channel-unregister', `channel-registered?',
`channel-select-then-read', and `subprocess-global-status-tick'.

v7/src/runtime/io.scm
v7/src/runtime/process.scm
v7/src/runtime/runtime.pkg
v7/src/runtime/version.scm
v8/src/runtime/runtime.pkg

index 5ed9885a6d2dfffaa2804f2d7f6516579118e871..1024ae053eadaffcd6f89f2a99e03d10cbad0861 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/io.scm,v 14.21 1991/03/10 22:42:23 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/io.scm,v 14.22 1991/03/11 23:48:00 cph Exp $
 
 Copyright (c) 1988-91 Massachusetts Institute of Technology
 
@@ -200,6 +200,10 @@ MIT in each case. |#
        (ucode-primitive channel-close 1)
        (ucode-primitive channel-nonblocking 1)
        (ucode-primitive channel-read 4)
+       (ucode-primitive channel-register 1)
+       (ucode-primitive channel-registered? 1)
+       (ucode-primitive channel-select-then-read 4)
+       (ucode-primitive channel-unregister 1)
        (ucode-primitive channel-write 4)
        (ucode-primitive file-length-new 1)
        (ucode-primitive file-position 1)
@@ -279,6 +283,19 @@ MIT in each case. |#
                     (channel-nonblocking channel)))))))
       (thunk)))
 
+(define (channel-registered? channel)
+  ((ucode-primitive channel-registered? 1) (channel-descriptor channel)))
+
+(define (channel-register channel)
+  ((ucode-primitive channel-register 1) (channel-descriptor channel)))
+
+(define (channel-unregister channel)
+  ((ucode-primitive channel-unregister 1) (channel-descriptor channel)))
+
+(define (channel-select-then-read channel buffer start end)
+  ((ucode-primitive channel-select-then-read 4) (channel-descriptor channel)
+                                               buffer start end))
+
 (define (channel-table)
   (fluid-let ((traversing? true))
     (without-interrupts
index 609294b91ae06a9c9a4def20713e1e89ced5ccd3..58e06d5cd90aa725ac29a803825cb0b7c4e4c51d 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/process.scm,v 1.9 1991/03/09 21:33:31 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/process.scm,v 1.10 1991/03/11 23:48:06 cph Exp $
 
 Copyright (c) 1989-91 Massachusetts Institute of Technology
 
@@ -39,6 +39,7 @@ MIT in each case. |#
 \f
 (define subprocesses)
 (define scheme-subprocess-environment)
+(define global-status-tick)
 
 (define (initialize-package!)
   (reset-package!)
@@ -47,6 +48,7 @@ MIT in each case. |#
 (define (reset-package!)
   (set! subprocesses '())
   (set! scheme-subprocess-environment ((ucode-primitive scheme-environment 0)))
+  (set! global-status-tick (cons false false))
   unspecific)
 
 (define (subprocess-list)
@@ -226,6 +228,15 @@ MIT in each case. |#
        (set-subprocess-%status-tick! process tick)
        tick)))
 
+(define (subprocess-global-status-tick)
+  (without-interrupts
+   (lambda ()
+     (if ((ucode-primitive process-status-sync-all 0))
+        (let ((tick (cons false false)))
+          (set! global-status-tick tick)
+          tick)
+        global-status-tick))))
+
 (define (convert-subprocess-status status)
   (case status
     ((0) 'RUNNING)
@@ -233,7 +244,7 @@ MIT in each case. |#
     ((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)
@@ -265,7 +276,7 @@ MIT in each case. |#
 
 (define (subprocess-stop process)
   ((ucode-primitive process-stop 1) (subprocess-index process)))
-\f
+
 (define (start-batch-subprocess filename arguments environment)
   (make-subprocess filename arguments environment
                   false false false false
index edf17dfde9d2f7e43edcb41d1975cf04fd31569b..a589e3fa01ea0e9b21f4fe3618c49d815e14e782 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/runtime.pkg,v 14.97 1991/03/10 22:42:32 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/runtime.pkg,v 14.98 1991/03/11 23:48:12 cph Exp $
 
 Copyright (c) 1988-91 Massachusetts Institute of Technology
 
@@ -1466,6 +1466,10 @@ MIT in each case. |#
          channel-port
          channel-read
          channel-read-block
+         channel-register
+         channel-registered?
+         channel-select-then-read
+         channel-unregister
          channel-table
          channel-type
          channel-type=block-device?
@@ -1947,6 +1951,7 @@ MIT in each case. |#
          subprocess-exit-reason
          subprocess-filename
          subprocess-get
+         subprocess-global-status-tick
          subprocess-id
          subprocess-input-channel
          subprocess-input-port
index 3cbd4eb154ff3661a2afec07559da0de82f092d2..19214384dad5c587a59191fad1c46f1fe1b4e2bd 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/version.scm,v 14.111 1991/03/10 22:43:02 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/version.scm,v 14.112 1991/03/11 23:48:20 cph Exp $
 
 Copyright (c) 1988-91 Massachusetts Institute of Technology
 
@@ -45,7 +45,7 @@ MIT in each case. |#
                     '()))
   (add-system! microcode-system)
   (add-event-receiver! event:after-restore snarf-microcode-version!)
-  (add-identification! "Runtime" 14 111))
+  (add-identification! "Runtime" 14 112))
 
 (define microcode-system)
 
index b5f7c58407e517b8b0cf46d9396794ddc8e10196..1db325435a010e1c27dd4073a6dc18bcdbcf10c6 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/runtime/runtime.pkg,v 14.97 1991/03/10 22:42:32 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/runtime/runtime.pkg,v 14.98 1991/03/11 23:48:12 cph Exp $
 
 Copyright (c) 1988-91 Massachusetts Institute of Technology
 
@@ -1466,6 +1466,10 @@ MIT in each case. |#
          channel-port
          channel-read
          channel-read-block
+         channel-register
+         channel-registered?
+         channel-select-then-read
+         channel-unregister
          channel-table
          channel-type
          channel-type=block-device?
@@ -1947,6 +1951,7 @@ MIT in each case. |#
          subprocess-exit-reason
          subprocess-filename
          subprocess-get
+         subprocess-global-status-tick
          subprocess-id
          subprocess-input-channel
          subprocess-input-port