summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--rtemsbsd/include/machine/rtems-bsd-muteximpl.h2
-rw-r--r--rtemsbsd/rtems/rtems-bsd-muteximpl.c1
2 files changed, 2 insertions, 1 deletions
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);