scsh-checkins
[Top] [All Lists]

[Scsh-checkins] scsh-0.6/scheme/env command-level.scm

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

Modified Files:
        command-level.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/env command-level.scm, Mike Sperber <=