On Sat, 12 Feb 2005 at 06:10 -0500, Barrie Slaymaker <[EMAIL PROTECTED]>...:
David Dyck wrote:
I have no idea where the "Try again:" write comes from, the
string didn't appear in the perl source directory (that I could find).
$! I believe. That TODO test is probing a known failure case with IPC-Run
on some platforms by trying to write a chunk of data larger than a normal
pipe's
buffer size. I think the "Try again" is the OS telling the program that it
couldn't
take that much input right now and to come back later and, well, try again.
The first chunk of 4096 goes through on your platform, looks like, leaving
15k not sent.
Rather pithy little error message, eh?
- Barrie
Thanks for the hint, I see now, after looking thought the kernel and not
finding it, that the message is coming from my C library
libc/sysdeps/linux/_errlist.c: "Try again",
/* EAGAIN */
Looking in errno.h I see that it may come from either of
#define EAGAIN 11 /* Try again */
#define EWOULDBLOCK EAGAIN /* Operation would block */
but libc actually does include a different error message for EWOULDBLOCK
"Operation would block", /* EWOULDBLOCK */
Since the kernel maps EWOULDBLOCK to EAGAIN that message is unused.
So, thanks for helping me find the mystery string,
David