This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author sbt
Recipients Andrew.Boettcher, BreamoreBoy, ajaksu2, astrand, ericpruitt, giampaolo.rodola, josiahcarlson, ooooooooo, parameter, r.david.murray, rosslagerwall, sbt, techtonik
Date 2012-05-22.14:17:05
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
Comments on Josiah's patch:

* It uses pywin32 for PeekNamedPipe -- this is now available from _winapi.

* I don't think send(), recv() and recv_exact() will work correctly if
  buffering is used -- an error should be raised in this case.

* I think send(), recv(), recv_exact() should raise errors if the
  associated stream is None instead of returning 0 or ''.

Additional comments on

* In a few places the code does "raise Exception(...)" -- some other 
  exception class should be used.

* It is not clear to me why TextIOWrapper should try to implement seek()
  and tell().  (The file-like wrapper for a socket does not.)

* I don't like the hardwired timeouts for faking asynchronicity:
  Popen.asyncread(), Popen.asyncwrite() use 0.1 seconds, and uses 1.25 seconds.

* There is no binary counterpart to TextIOWrapper.

* Using fcntl.fcntl() to switch back and forth between blocking and
  unblocking is unnecessary.  select() guarantees the read/write on a pipe
  will succeed without blocking.  (The same is not necessarily true with
  a socket.)

* __closecheck() should be renamed _closecheck().

* FileWrapper is just a wrapper for TextIOWrapper, except that it has an
  ignored newlines argument.

* I can't see any documentation.
Date User Action Args
2012-05-22 14:17:06sbtsetrecipients: + sbt, josiahcarlson, astrand, parameter, techtonik, giampaolo.rodola, ajaksu2, ooooooooo, r.david.murray, ericpruitt, BreamoreBoy, Andrew.Boettcher, rosslagerwall
2012-05-22 14:17:06sbtsetmessageid: <>
2012-05-22 14:17:05sbtlinkissue1191964 messages
2012-05-22 14:17:05sbtcreate