Source-Changes-D archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/sys/kern
On Wed, Dec 16, 2009 at 06:24:04AM +0000, David Holland wrote:
> On Tue, Dec 15, 2009 at 06:35:18PM +0000, David Laight wrote:
> > Modified Files:
> > src/sys/kern: sys_pipe.c
> >
> > Log Message:
> > Don't ERESTART write() calls for now.
> > I suspect some programs don't allow for the partial transfer.
>
> More likely, the pipe is stuttering and repeating itself. Once data's
> been transferred, you *have* to succeed and return the amount
> transferred; otherwise anything that tries again (whether the
> application or transparently by syscall restart) is going to send the
> same data over again.
The code to handle that is in the sys_read()/sys_write() path.
In the same place that EINTR gets converted to 'success' if
any bytes have been transferred.
David
--
David Laight: david%l8s.co.uk@localhost
Home |
Main Index |
Thread Index |
Old Index