On Wed, 2005-10-05 at 15:09 -0700, Luck, Tony wrote: > >Do you expect a partial write, rather than the EAGAIN? > > I suppose you should expect EAGAIN here: http://tinyurl.com/82wr9 > describes this situation quite clearly. > > So either: > 1) ia64 thinks 4120 is less than PIPE_BUF, so that it believes > that it should not do a partial write
Except that the test code asks the system for PIPE_BUF, and then adds to it to determine how much to write. (See lines 26, 32, and 33 of my test.) Specifically, we try to write PIPE_BUF + 24 bytes. > 2) Even though we removed some data from the pipe, it thinks that > it is still all the way full. Hmm. The spec doesn't seem to say whether a read of PIPE_BUF bytes on a full pipe _must_ put the pipe in a state where it can accept more input. The test, certainly, seems to think this is mandatory. > [My tests on 2.6.14-rc2]. > > Which other architectures have you tried this on? Is ia64 all alone > in failing this test? Yup. In fact, only recent kernels fail; 2.6.8 succeeds, while 2.6.12 fails. For other architectures, I've tested on i386 and amd64 for both 2.6.8 and 2.6.12 kernels. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

