diff options
author | patacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679> | 2012-08-12 17:37:04 +0000 |
---|---|---|
committer | patacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679> | 2012-08-12 17:37:04 +0000 |
commit | 2b184e2630f74fe4f568212de7e143a9bc3743b8 (patch) | |
tree | b8701e6c319c085758d39c4dd7d08c380fc2088a /nuttx/lib/stdio/lib_stdinstream.c | |
parent | 0512367a9c707f26b9a2b9057cf64714f46a0dc4 (diff) | |
download | px4-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_stdinstream.c')
-rw-r--r-- | nuttx/lib/stdio/lib_stdinstream.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/nuttx/lib/stdio/lib_stdinstream.c b/nuttx/lib/stdio/lib_stdinstream.c index d89b6b63a..77aab9ec8 100644 --- a/nuttx/lib/stdio/lib_stdinstream.c +++ b/nuttx/lib/stdio/lib_stdinstream.c @@ -1,8 +1,8 @@ /**************************************************************************** * lib/stdio/lib_stdinstream.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 @@ -37,6 +37,8 @@ * Included Files ****************************************************************************/ +#include <assert.h> + #include "lib_internal.h" /**************************************************************************** @@ -50,16 +52,19 @@ static int stdinstream_getc(FAR struct lib_instream_s *this) { FAR struct lib_stdinstream_s *sthis = (FAR struct lib_stdinstream_s *)this; - if (this) + int ret; + + DEBUGASSERT(this); + + /* Get the next character from the incoming stream */ + + ret = getc(sthis->stream); + if (ret != EOF) { - int ret = getc(sthis->stream); - if (ret != EOF) - { - this->nget++; - } - return ret; + this->nget++; } - return EOF; + + return ret; } /**************************************************************************** |