homepage

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 neologix
Recipients eric.araujo, giampaolo.rodola, neologix, pitrou, rosslagerwall
Date 2013年03月07日.16:38:57
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <CAH_1eM1_a4G1X9Ag9RAxjkR1Nf1xhapwJnUYbQvSpDY4tmZCwg@mail.gmail.com>
In-reply-to <1362671217.34.0.378720569679.issue13564@psf.upfronthosting.co.za>
Content
> Then why 'offset' and 'count' parameters have a different data type?
Because offsets can be negative (e.g. for lseek), while a size can't.
That's why 'count' is size_t, not ssize_t.
>> Furthermore, since sendfile actually supports only regular file and regular
>> files don't support non-blocking I/O, it's unlikely to ever happen.
>
> EAGAIN is caused by the socket fd not being ready yet, not the file fd.
> Please try the patch before making such assumptions.
I didn't see the socket could be set to non-blocking.
In that case, there's a problem with the patch, since select can block
arbitrarily long because it doesn't take the socket timeout into
account.
Also, apparently socket.sendall() doesn't retry on EAGAIN, it doesn't
use BEGIN_SELECT_LOOP.
The risk of false positive (EAGAIN after select reported ready)
shouldn't be as bad as for sendto(), since usually you'll just get a
partial write for a stream oriented socket, but this could be bad for
e.g. a SCTP socket (since it's message-oriented).
> We're going OT here.
I'm leaving this topic, you can do as you like...
History
Date User Action Args
2013年03月07日 16:38:57neologixsetrecipients: + neologix, pitrou, giampaolo.rodola, eric.araujo, rosslagerwall
2013年03月07日 16:38:57neologixlinkissue13564 messages
2013年03月07日 16:38:57neologixcreate

AltStyle によって変換されたページ (->オリジナル) /