From b22ad9f4c57587e8ab4a22438652e10ad0d2345d Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 23 Jun 2015 08:58:58 +0200 Subject: rtems-bsd-mutex: Fix resource count updates --- rtemsbsd/include/machine/rtems-bsd-muteximpl.h | 2 +- rtemsbsd/rtems/rtems-bsd-muteximpl.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/rtemsbsd/include/machine/rtems-bsd-muteximpl.h b/rtemsbsd/include/machine/rtems-bsd-muteximpl.h index 45f501c6..0bb23f2e 100644 --- a/rtemsbsd/include/machine/rtems-bsd-muteximpl.h +++ b/rtemsbsd/include/machine/rtems-bsd-muteximpl.h @@ -79,10 +79,10 @@ rtems_bsd_mutex_lock(struct lock_object *lock, rtems_bsd_mutex *m) owner = m->owner; executing = _Thread_Executing; - ++executing->resource_count; if (__predict_true(owner == NULL)) { m->owner = executing; + ++executing->resource_count; _Thread_queue_Release(&m->queue, &lock_context); } else { diff --git a/rtemsbsd/rtems/rtems-bsd-muteximpl.c b/rtemsbsd/rtems/rtems-bsd-muteximpl.c index c68bd461..d7776f5a 100644 --- a/rtemsbsd/rtems/rtems-bsd-muteximpl.c +++ b/rtemsbsd/rtems/rtems-bsd-muteximpl.c @@ -57,6 +57,7 @@ rtems_bsd_mutex_lock_more(struct lock_object *lock, rtems_bsd_mutex *m, /* Priority inheritance */ _Thread_Raise_priority(owner, executing->current_priority); + ++executing->resource_count; _Thread_queue_Enqueue_critical(&m->queue, executing, STATES_WAITING_FOR_MUTEX, WATCHDOG_NO_TIMEOUT, 0, lock_context); -- cgit v1.2.3