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

Reply via email to