Subject: Re: Clean up sha1 file writing

From: "H. Peter Anvin" <[email-masked]>
Date: Sun, 04 Jun 2006 12:05:32 -0700

Linus Torvalds wrote:
> 
> On Sun, 4 Jun 2006, Linus Torvalds wrote:
>> On Sun, 4 Jun 2006, H. Peter Anvin wrote:
>>> Or if you're getting a SIGWINCH in the middle of it.
>>>
>>> Any POSIX system will interrupt the transfer and return a short read on
>>> receiving a signal.
>> Only for interruptible fd's, though, which normally a real "file" won't 
>> be.
> 
> And _usually_ only if you actually have a SIGWINCH handler.
> 
> Although older Linux kernels were broken in this regard. They'd interrupt 
> a socket/pipe read or write even for a signal that ended up being ignored.
> 
> So it's absolutely the case that having the loop is always the safer thing 
> to do, and it's never the _wrong_ thing to do.
> 

Right.  I tend to think of it as implementation-defined the cases where 
it happen to be safe, with the one exception of transactions which are 
smaller than PIPE_BUF that are directed to a pipe.

	-hpa