scsh-checkins
[Top] [All Lists]

[Scsh-checkins] scsh-0.6/scheme/rts scheduler.scm thread.scm

To: scsh-checkins@lists.sourceforge.net
Subject: [Scsh-checkins] scsh-0.6/scheme/rts scheduler.scm thread.scm
From: Mike Sperber <sperber@users.sourceforge.net>
Date: Fri May 3 07:06:10 2002
List-id: <scsh-checkins.lists.sourceforge.net>
Sender: scsh-checkins-admin@lists.sourceforge.net
Update of /cvsroot/scsh/scsh-0.6/scheme/rts
In directory usw-pr-cvs1:/tmp/cvs-serv17793/scheme/rts

Modified Files:
        scheduler.scm thread.scm 
Log Message:
Redo the forking-without-the-threads fix in a way not involving
command levels (as there *are* no command levels for things like scsh
-c):

There's now a new asynchronous event, similar to SPAWN, called NARROW.
It spawns off a new scheduler with just one thread (which runs the
thunk provided as an argument to NARROW) and blocks the current one
until the narrowed scheduler finishes.

For this to work, two schedulers need to be in place: the root
scheduler which performs the housekeeping, and another one inside that
which is the one the program uses---otherwise it's the root scheduler
that's blocked, and that means no housekeeping gets done.  This is
trivially the case for interactive mode, as the command-levels all
have their own schedulers, but we also need to make sure scsh's entry
point fires up its own initial scheduler.



<Prev in Thread] Current Thread [Next in Thread>
  • [Scsh-checkins] scsh-0.6/scheme/rts scheduler.scm thread.scm, Mike Sperber <=