From 4a0669bf9f46a8bf10d436ba426c840900788412 Mon Sep 17 00:00:00 2001 From: patacongo Date: Mon, 11 Jun 2007 22:47:21 +0000 Subject: EINTR is not an error git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@289 42af7a65-404d-4744-a932-0658087f49c3 --- nuttx/examples/nsh/nsh_main.c | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) (limited to 'nuttx') diff --git a/nuttx/examples/nsh/nsh_main.c b/nuttx/examples/nsh/nsh_main.c index 16d633718..a6560614e 100644 --- a/nuttx/examples/nsh/nsh_main.c +++ b/nuttx/examples/nsh/nsh_main.c @@ -290,8 +290,13 @@ static void cmd_cat(int argc, char **argv) if (nbytesread < 0) { - printf(g_fmtcmdfailed, argv[0], "read", strerror(errno)); - break; + /* EINTR is not an error */ + + if (errno != EINTR) + { + printf(g_fmtcmdfailed, argv[0], "read", strerror(errno)); + break; + } } /* Check for data successfully read */ @@ -306,10 +311,18 @@ static void cmd_cat(int argc, char **argv) int n = write(1, buffer, nbytesread); if (n < 0) { - printf(g_fmtcmdfailed, argv[0], "write", strerror(errno)); - break; + /* EINTR is not an error */ + + if (errno != EINTR) + { + printf(g_fmtcmdfailed, argv[0], "write", strerror(errno)); + break; + } + } + else + { + nbyteswritten += n; } - nbyteswritten += n; } } -- cgit v1.2.3