Author pitrou
Recipients benjamin.peterson, neologix, petri.lehtinen, pitrou, sbt, stutzbach
Date 2011-11-10.00:06:07
SpamBayes Score 2.17268e-08
Marked as misclassified No
Message-id <1320883289.3370.6.camel@localhost.localdomain>
In-reply-to <1320688361.58.0.902984697592.issue13322@psf.upfronthosting.co.za>
Content
Hi,

> Testing the patch a bit more thoroughly, I found that data received
> from the readable end of the pipe can be corrupted by the C
> implementation.  This seems to be because two of the previously
> dormant codepaths did not properly maintain the necessary invariants.

Ouch. Were they only non-blocking codepaths?

> in two places.  However, I really do not know what all the attributes
> mean.  (Should self->raw_pos also be modified...?)

raw_pos is the position which the underlying raw stream is currently at.
It only needs to be modified when a successful write(), read() or seek()
is done on the raw stream.

Another comment: you set errno to EAGAIN, but it is not sure that was
the actual errno raised by the raw stream (although that's quite
likely). You might want to reflect the actual C errno (but you'd better
set it to 0 before the system call, then).
History
Date User Action Args
2011-11-10 00:06:08pitrousetrecipients: + pitrou, benjamin.peterson, stutzbach, neologix, sbt, petri.lehtinen
2011-11-10 00:06:08pitroulinkissue13322 messages
2011-11-10 00:06:07pitroucreate