[Stackless] Google's new Go programming language

Larry Dickson ldickson at cuttedge.com
Mon Nov 23 19:33:12 CET 2009


On 11/23/09, Jeff Senn <senn at maya.com> wrote:
>
>
> On Nov 23, 2009, at 12:13 PM, Andrew Francis wrote:
> >
> >> I pictured it having an interface like:
> >>
> >> while True:
> >>   selected_channel = select(quit_channel, request_channel)
> >>   if selected_channel is quit_channel:
> >>       return
> >>   elif selected_channel is request_channel:
> >
> > This is essentially how I would write it.  I would provide a
> > list of channels and return a list of channels that are ready. For
> efficiency, I would provide an additional value, hint, to prevent
> > the scheduler from tearing-down the structure when select returns.
> >
> > readyList = select([channels], hint = True)
> >
> > but for a start I would simply the interface to return a single channel.
>
> Unfortunately that seems to create a race condition (opposed to the
> implementations
> in other environments where the "select-like-operation" actually pops off
> the message).
> [Unless you also propose a non-blocking receive...which would have other
> problems....
> I haven't been following this  thread completely...]
>
> Imagine the tasklet interrupted (by someone else receiving from the same
> channel)
> between the select and the following .receive(...)


Select (on inputs) requires single-receiver channels. Multiple senders are
OK. Given that restriction, a select can be implemented without race
conditions.

Larry Dickson
Cutting Edge Networked Storage

> ...
> > I understand your minimalist approach towards Stackless. However I think
> > Stackless can evolve only so far without actual changes to the scheduler.
> Priorities involved a change to the scheduler. Again, I
>
> I do agree with this...
>
> > believe PyPy provides an opportunity to prototype changes in a safe and
> fast way.
> >
> > Cheers,
> > Andrew
> >
> >
> >
> >
> >
> >
> >
> >
> > _______________________________________________
> > Stackless mailing list
> > Stackless at stackless.com
> > http://www.stackless.com/mailman/listinfo/stackless
> >
>
>
> _______________________________________________
> Stackless mailing list
> Stackless at stackless.com
> http://www.stackless.com/mailman/listinfo/stackless
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.stackless.com/pipermail/stackless/attachments/20091123/585d6bd8/attachment.htm>


More information about the Stackless mailing list