[PATCH] termios: check return value from semaphore obtain/release
Gedare Bloom
gedare at rtems.org
Thu Sep 5 18:35:19 UTC 2013
Raise a fatal error in case of failure.
---
cpukit/libcsupport/src/termios.c | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/cpukit/libcsupport/src/termios.c b/cpukit/libcsupport/src/termios.c
index 976c376..c462ce6 100644
--- a/cpukit/libcsupport/src/termios.c
+++ b/cpukit/libcsupport/src/termios.c
@@ -970,9 +970,14 @@ siproc (unsigned char c, struct rtems_termios_tty *tty)
* Obtain output semaphore if character will be echoed
*/
if (tty->termios.c_lflag & (ECHO|ECHOE|ECHOK|ECHONL|ECHOPRT|ECHOCTL|ECHOKE)) {
- rtems_semaphore_obtain (tty->osem, RTEMS_WAIT, RTEMS_NO_TIMEOUT);
+ rtems_status_code sc;
+ sc = rtems_semaphore_obtain (tty->osem, RTEMS_WAIT, RTEMS_NO_TIMEOUT);
+ if (sc != RTEMS_SUCCESSFUL)
+ rtems_fatal_error_occurred (sc);
i = iproc (c, tty);
- rtems_semaphore_release (tty->osem);
+ sc = rtems_semaphore_release (tty->osem);
+ if (sc != RTEMS_SUCCESSFUL)
+ rtems_fatal_error_occurred (sc);
}
else {
i = iproc (c, tty);
--
1.7.1
More information about the devel
mailing list