aboutsummaryrefslogtreecommitdiff
path: root/nuttx/lib/stdio/lib_lowinstream.c
diff options
context:
space:
mode:
authorpatacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679>2012-08-12 17:37:04 +0000
committerpatacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679>2012-08-12 17:37:04 +0000
commit2b184e2630f74fe4f568212de7e143a9bc3743b8 (patch)
treeb8701e6c319c085758d39c4dd7d08c380fc2088a /nuttx/lib/stdio/lib_lowinstream.c
parent0512367a9c707f26b9a2b9057cf64714f46a0dc4 (diff)
downloadpx4-firmware-2b184e2630f74fe4f568212de7e143a9bc3743b8.tar.gz
px4-firmware-2b184e2630f74fe4f568212de7e143a9bc3743b8.tar.bz2
px4-firmware-2b184e2630f74fe4f568212de7e143a9bc3743b8.zip
drivers/serial/serial.c open, read, write, and poll methods will not return a short transfer or an EINTR error if a signal is received while waiting (only)
git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@5022 7fd9a85b-ad96-42d3-883c-3090e2eb8679
Diffstat (limited to 'nuttx/lib/stdio/lib_lowinstream.c')
-rw-r--r--nuttx/lib/stdio/lib_lowinstream.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/nuttx/lib/stdio/lib_lowinstream.c b/nuttx/lib/stdio/lib_lowinstream.c
index 6dcc4a37e..c97a4721f 100644
--- a/nuttx/lib/stdio/lib_lowinstream.c
+++ b/nuttx/lib/stdio/lib_lowinstream.c
@@ -1,8 +1,8 @@
/****************************************************************************
* lib/stdio/lib_lowinstream.c
*
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
+ * Copyright (C) 2007-2009, 2011-2012 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -42,7 +42,9 @@
#ifdef CONFIG_ARCH_LOWGETC
#include <stdio.h>
+#include <assert.h>
#include <errno.h>
+
#include <nuttx/arch.h>
#include "lib_internal.h"
@@ -57,10 +59,19 @@
static int lowinstream_getc(FAR struct lib_instream_s *this)
{
- if (this && up_getc(ch) != EOF)
+ int ret;
+
+ DEBUGASSERT(this);
+
+ /* Get the next character from the incoming stream */
+
+ ret = up_getc(ch)
+ if (ret != EOF)
{
this->nget++;
}
+
+ return ret;
}
/****************************************************************************