![](https://secure.gravatar.com/avatar/7433ccc4d72b41e859d7c3740b8cb178.jpg?s=120&d=mm&r=g)
----- Original Message ----- From: "Jean-Paul Calderone" <exarkun@divmod.com> To: "Twisted general discussion" <twisted-python@twistedmatrix.com> Sent: Saturday, December 31, 2005 6:46 PM Subject: Re: [Twisted-Python] Re: plus mode was Re: how winnt fileops workandwhat to do about it
On Sat, 31 Dec 2005 18:12:06 -0500, James Y Knight <foom@fuhm.net> wrote:
On Dec 31, 2005, at 4:57 PM, Paul G wrote:
oh, it makes perfect sense to have a workaround in twisted, i'm not suggesting otherwise. however, it should be just that - a temporary workaround until cpython has a fix for the issue, because (outside of the offending libc implementation), that is the right place to fix it.
As I wrote in the bug report:
It's not a python bug except perhaps that python should raise an exception. Doing a read and write without a seek in between is illegal in C.
"ANSI C requires that a file positioning function intervene between output and input, unless an input operation encounters end-of-file."
I am against including any sort of workaround besides raising an exception if the situation occurs. And I don't think even that is particularly warranted.
Thanks for pointing this out. The immediate fix is now obvious: the test needs to change. It _might_ be nice to have an assertion for this behavior, but I'm not about to add a file wrapper just for this (if all of Twisted used FilePath, instead of opening files directly, I might grant more weight to this, but since it doesn't...).
are we sure streams are only used with File objects FilePath gives us? -p