[Stackless] An idea for making Stackless more naturally usable

Richard Tew richard.m.tew at gmail.com
Tue Sep 5 10:06:01 CEST 2006


On 9/5/06, Andrew Dalke <dalke at dalkescientific.com> wrote:
> According to the notes in asyncore
>
> # Asynchronous File I/O:
> #
> # After a little research (reading man pages on various unixen, and
> # digging through the linux kernel), I've determined that select()
> # isn't meant for doing asynchronous file i/o.
> # Heartening, though - reading linux/mm/filemap.c shows that linux
> # supports asynchronous read-ahead.  So _MOST_ of the time, the data
> # will be sitting in memory for us already when we go to read it.
> #
> # What other OS's (besides NT) support async file i/o?  [VMS?]
> #
> # Regardless, this is useful for pipes, and stdin/stdout...
>
> which makes me happy because one of the things I want to stackless-ify
> is subprocess, which uses pipes and hence should work with asyncore.
>
>
> Otherwise I think the only solution is an OS thread.  Hmmm, or replace
> open(filename) with
>    some_async_dispatcher(os.popen("cat " + filename))

On the other hand, the best solution I could find for Windows was:

http://pyasynchio.berlios.de/pyasynchio-about.htm

Which is probably a complete replacement for asyncore wrt
both files and sockets.  I'll have a play with it and see if I
can get replacement socket and file objects based on it.  In
the long run, reimplementing its use of IO completion ports
with ctypes, or if possible win32all, might be a better idea
as a fallback if the module is not available.

Pipes however I know nothing about at this time.

Richard.

_______________________________________________
Stackless mailing list
Stackless at stackless.com
http://www.stackless.com/mailman/listinfo/stackless



More information about the Stackless mailing list