diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-09-27 15:08:33 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-10-05 14:29:02 +0200 |
commit | de59c065c57cb8526662ee6da28a57ad16fdde66 (patch) | |
tree | 21f4a2adbd58f65f722051bca435572fbf5dcf05 /cpukit/libblock/src | |
parent | posix: Implement self-contained POSIX condvar (diff) | |
download | rtems-de59c065c57cb8526662ee6da28a57ad16fdde66.tar.bz2 |
posix: Implement self-contained POSIX mutex
POSIX mutexes are now available in all configurations and no longer
depend on --enable-posix.
Update #2514.
Update #3112.
Diffstat (limited to 'cpukit/libblock/src')
-rw-r--r-- | cpukit/libblock/src/bdbuf.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/cpukit/libblock/src/bdbuf.c b/cpukit/libblock/src/bdbuf.c index 76f238df1c..6cdf079181 100644 --- a/cpukit/libblock/src/bdbuf.c +++ b/cpukit/libblock/src/bdbuf.c @@ -1514,6 +1514,7 @@ rtems_bdbuf_do_init (void) uint8_t* buffer; size_t b; rtems_status_code sc; + bool locked; if (rtems_bdbuf_tracer) printf ("bdbuf:init\n"); @@ -1546,7 +1547,8 @@ rtems_bdbuf_do_init (void) sc = rtems_bdbuf_lock_create (rtems_build_name ('B', 'D', 'C', 'l'), &bdbuf_cache.lock); - if (sc != RTEMS_SUCCESSFUL) + locked = (sc == RTEMS_SUCCESSFUL); + if (!locked) goto error; rtems_bdbuf_lock_cache (); @@ -1729,7 +1731,7 @@ error: rtems_bdbuf_waiter_delete (&bdbuf_cache.transfer_waiters); rtems_bdbuf_lock_delete (&bdbuf_cache.sync_lock); - if (bdbuf_cache.lock != 0) + if (locked) { rtems_bdbuf_unlock_cache (); rtems_bdbuf_lock_delete (&bdbuf_cache.lock); |