[issue9939] Add a pipe type (FIFO) to the io module

Antoine Pitrou report at bugs.python.org
Fri Sep 24 17:33:06 CEST 2010


Antoine Pitrou <pitrou at free.fr> added the comment:

> > It would be a non-seekable in-memory bytes buffer with distinct 
> > read and write pointers, so as to act like a system FIFO or a 
> > socket.makefile() object.
> 
> What would it do when the equivalent system FIFO object would block?

Simply buffer everything.
(this is more aimed at mocking sockets than system FIFOs; system FIFOs
can be trivially wrapped in a BufferedRWPair)

> > (you may point to os.pipe() but it has problems such as limited buffer
> > size: try to write many bytes to the write end and it will block until
> > the other end tries to read something)
> 
> In the past, I've gotten around that limitation by using threads
> (which, admittedly, certainly had its own drawbacks)

Sure, but that's a lot of complication in itself.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue9939>
_______________________________________


More information about the Python-bugs-list mailing list