scsh-checkins
[Top] [All Lists]

[Scsh-checkins] CVS: scsh-0.6/scheme interfaces.scm,1.12,1.13 more-packa

To: scsh-checkins@lists.sourceforge.net
Subject: [Scsh-checkins] CVS: scsh-0.6/scheme interfaces.scm,1.12,1.13 more-packages.scm,1.2,1.3 packages.scm,1.3,1.4 rts-packages.scm,1.4,1.5
From: Mike Sperber <sperber@users.sourceforge.net>
Date: Tue, 22 May 2001 07:58:17 -0700
List-id: <scsh-checkins.lists.sourceforge.net>
Sender: scsh-checkins-admin@lists.sourceforge.net
Update of /cvsroot/scsh/scsh-0.6/scheme
In directory usw-pr-cvs1:/tmp/cvs-serv5473/scheme

Modified Files:
        interfaces.scm more-packages.scm packages.scm rts-packages.scm 
Log Message:
Added thread-cells structure for thread-local cells.

These can be used (together with fluids) to implement something akin
to PLT's and Chez's parameters for holding thread-local state such as
CWD, syslog channel, etc.


Index: interfaces.scm
===================================================================
RCS file: /cvsroot/scsh/scsh-0.6/scheme/interfaces.scm,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -r1.12 -r1.13
*** interfaces.scm      2001/03/23 10:59:07     1.12
--- interfaces.scm      2001/05/22 14:58:15     1.13
***************
*** 391,394 ****
--- 391,404 ----
          string->integer))
  
+ (define-interface thread-cells-interface
+   (export make-thread-cell
+         thread-cell-ref
+         thread-cell-set!))
+ 
+ (define-interface thread-cells-internal-interface
+   (export get-cell-values
+         empty-cell-values             ; env/command-level.scm
+         initialize-dynamic-state!))
+ 
  (define-interface fluids-interface
    (export make-fluid
***************
*** 399,409 ****
  
  (define-interface fluids-internal-interface
!   (export initialize-dynamic-state!
!         current-thread
          set-current-thread!
          get-dynamic-env               ; wind.scm, env/command-level.scm
          set-dynamic-env!              ; wind.scm
          get-dynamic-point             ; wind.scm
!         set-dynamic-point!))          ; wind.scm
  
  (define-interface enumerated-interface
--- 409,419 ----
  
  (define-interface fluids-internal-interface
!   (export current-thread
          set-current-thread!
          get-dynamic-env               ; wind.scm, env/command-level.scm
          set-dynamic-env!              ; wind.scm
          get-dynamic-point             ; wind.scm
!         set-dynamic-point!            ; wind.scm
!         empty-dynamic-env))           ; thread-cell.scm
  
  (define-interface enumerated-interface

Index: more-packages.scm
===================================================================
RCS file: /cvsroot/scsh/scsh-0.6/scheme/more-packages.scm,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** more-packages.scm   1999/09/19 19:03:51     1.2
--- more-packages.scm   2001/05/22 14:58:15     1.3
***************
*** 73,76 ****
--- 73,77 ----
        channel-i/o             ; steal-channel-port
        fluids-internal         ; get-dynamic-env, set-dynamic-env!
+       thread-cells-internal   ; empty-cell-values
        root-scheduler          ; call-when-deadlocked!
        conditions)             ; define-condition-type

Index: packages.scm
===================================================================
RCS file: /cvsroot/scsh/scsh-0.6/scheme/packages.scm,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** packages.scm        2001/03/23 10:59:07     1.3
--- packages.scm        2001/05/22 14:58:15     1.4
***************
*** 273,276 ****
--- 273,277 ----
            scheme-level-2
            templates
+           thread-cells
            threads
            threads-internal
***************
*** 302,305 ****
--- 303,307 ----
            root-scheduler
            session-data
+           thread-cells-internal
            usual-resumer
            ;; silly

Index: rts-packages.scm
===================================================================
RCS file: /cvsroot/scsh/scsh-0.6/scheme/rts-packages.scm,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** rts-packages.scm    2001/03/23 10:59:07     1.4
--- rts-packages.scm    2001/05/22 14:58:15     1.5
***************
*** 54,57 ****
--- 54,63 ----
    (optimize auto-integrate))
  
+ (define-structures ((thread-cells thread-cells-interface)
+                   (thread-cells-internal thread-cells-internal-interface))
+   (open scheme-level-1 define-record-types primitives fluids-internal)
+   (files (rts thread-cell))
+   (optimize auto-integrate))
+ 
  (define-structure wind wind-interface
    (open scheme-level-1 signals define-record-types
***************
*** 239,242 ****
--- 245,249 ----
          fluids
        fluids-internal         ;get-dynamic-env
+       thread-cells-internal   ;get-cell-values
          escapes                 ;primitive-cwcc
          conditions              ;error?
***************
*** 253,257 ****
  
  (define-structure scheduler scheduler-interface
!   (open scheme-level-1 threads threads-internal enumerated enum-case
        debug-messages
        signals)                ;error
--- 260,265 ----
  
  (define-structure scheduler scheduler-interface
!   (open scheme-level-1 threads threads-internal thread-cells-internal
!       enumerated enum-case
        debug-messages
        signals)                ;error
***************
*** 271,274 ****
--- 279,283 ----
        i/o-internal            ;output-port-forcer, output-forcer-id
        fluids-internal         ;get-dynamic-env
+       thread-cells-internal   ;get-cell-values
        interrupts              ;with-interrupts-inhibited
        wind                    ;call-with-current-continuation
***************
*** 319,323 ****
        channel-i/o      ;{in,out}put-channel->port, initialize-channel-i/o
        session-data     ;initialize-session-data!
!       fluids-internal  ;initialize-dynamic-state!
        exceptions       ;initialize-exceptions!
        interrupts       ;initialize-interrupts!
--- 328,332 ----
        channel-i/o      ;{in,out}put-channel->port, initialize-channel-i/o
        session-data     ;initialize-session-data!
!       thread-cells-internal    ;initialize-dynamic-state!
        exceptions       ;initialize-exceptions!
        interrupts       ;initialize-interrupts!



<Prev in Thread] Current Thread [Next in Thread>
  • [Scsh-checkins] CVS: scsh-0.6/scheme interfaces.scm,1.12,1.13 more-packages.scm,1.2,1.3 packages.scm,1.3,1.4 rts-packages.scm,1.4,1.5, Mike Sperber <=