[Stackless] Stackless Design Q.

Sam Rushing rushing at nightmare.com
Wed Feb 20 08:41:39 CET 2002

On Tue, 2002-02-19 at 11:15, Christian Tismer wrote:
> Again, What is the name of this function/method, and
> where does it belong?
> It
> - unblocks another tasklet
> - transfers data
> - does not block anything
> - schedules the other tasklet
> Or is this a bad design at all?

In our current system, this function is called 'schedule()';
and it takes an 'args' tuple.  It doesn't transfer control, it just
makes the other coro ready to run ASAP. [i.e., next trip through the
event loop it will be added to the set of 'runnable' coros].

Here is our coro::condition_variable::wake_one() for context:

    def wake_one (self, args=()):
        for coro in self._waiting:
                schedule (coro, args)
            except ScheduleError:
                return 1
            return 0

[ScheduleError is thrown if the coro has already been scheduled]


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 230 bytes
Desc: This is a digitally signed message part
URL: <http://www.stackless.com/pipermail/stackless/attachments/20020219/330e28ef/attachment.pgp>

More information about the Stackless mailing list