diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-01-08 13:55:36 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-02-05 10:56:24 +0100 |
commit | 8b3da1329bc95d559ba1d7b562cbf93f9ca92156 (patch) | |
tree | 0f7b0e8e8d99cbc184f7a1d8ab0393103fa7abec | |
parent | sdk_dpaa: What to do with tail queue drop? (diff) | |
download | rtems-libbsd-8b3da1329bc95d559ba1d7b562cbf93f9ca92156.tar.bz2 |
termios: Update due to API changes
Update #2843.
-rw-r--r-- | rtemsbsd/rtems/rtems-kernel-termioskqueuepoll.c | 31 |
1 files changed, 8 insertions, 23 deletions
diff --git a/rtemsbsd/rtems/rtems-kernel-termioskqueuepoll.c b/rtemsbsd/rtems/rtems-kernel-termioskqueuepoll.c index 0ac2ab78..a3b2c608 100644 --- a/rtemsbsd/rtems/rtems-kernel-termioskqueuepoll.c +++ b/rtemsbsd/rtems/rtems-kernel-termioskqueuepoll.c @@ -154,18 +154,13 @@ termios_receive_wakeup(void *arg) { termios_selinfo *ts; rtems_termios_tty *tty; - rtems_status_code sc; ts = arg; tty = ts->tty; - sc = rtems_semaphore_obtain(tty->isem, RTEMS_WAIT, RTEMS_NO_TIMEOUT); - BSD_ASSERT(sc == RTEMS_SUCCESSFUL); - + rtems_mutex_lock(&tty->isem); selwakeup(&ts->sel); - - sc = rtems_semaphore_release(tty->isem); - BSD_ASSERT(sc == RTEMS_SUCCESSFUL); + rtems_mutex_unlock(&tty->isem); } static void @@ -173,18 +168,13 @@ termios_transmit_wakeup(void *arg) { termios_selinfo *ts; rtems_termios_tty *tty; - rtems_status_code sc; ts = arg; tty = ts->tty; - sc = rtems_semaphore_obtain(tty->osem, RTEMS_WAIT, RTEMS_NO_TIMEOUT); - BSD_ASSERT(sc == RTEMS_SUCCESSFUL); - + rtems_mutex_lock(&tty->osem); selwakeup(&ts->sel); - - sc = rtems_semaphore_release(tty->osem); - BSD_ASSERT(sc == RTEMS_SUCCESSFUL); + rtems_mutex_unlock(&tty->osem); } static void @@ -229,7 +219,6 @@ rtems_termios_poll(rtems_libio_t *iop, int events) struct thread *td = rtems_bsd_get_curthread_or_wait_forever(); struct selinfo *sel; rtems_termios_tty *tty; - rtems_status_code sc; int revents; revents = 0; @@ -239,8 +228,7 @@ rtems_termios_poll(rtems_libio_t *iop, int events) sel = termios_get_selinfo(tty, &tty->tty_rcv, termios_receive_wakeup); - sc = rtems_semaphore_obtain(tty->isem, RTEMS_WAIT, RTEMS_NO_TIMEOUT); - BSD_ASSERT(sc == RTEMS_SUCCESSFUL); + rtems_mutex_lock(&tty->isem); if (termios_can_read(tty)) { revents |= events & (POLLIN | POLLRDNORM); @@ -248,16 +236,14 @@ rtems_termios_poll(rtems_libio_t *iop, int events) selrecord(td, sel); } - sc = rtems_semaphore_release(tty->isem); - BSD_ASSERT(sc == RTEMS_SUCCESSFUL); + rtems_mutex_unlock(&tty->isem); } if ((events & (POLLOUT | POLLWRNORM)) != 0) { sel = termios_get_selinfo(tty, &tty->tty_snd, termios_transmit_wakeup); - sc = rtems_semaphore_obtain(tty->osem, RTEMS_WAIT, RTEMS_NO_TIMEOUT); - BSD_ASSERT(sc == RTEMS_SUCCESSFUL); + rtems_mutex_lock(&tty->osem); if (termios_can_write(tty)) { revents |= events & (POLLOUT | POLLWRNORM); @@ -265,8 +251,7 @@ rtems_termios_poll(rtems_libio_t *iop, int events) selrecord(td, sel); } - sc = rtems_semaphore_release(tty->osem); - BSD_ASSERT(sc == RTEMS_SUCCESSFUL); + rtems_mutex_unlock(&tty->osem); } return (revents); |