rtems-bsd-mutex: Update due to API changes

This commit is contained in:
Sebastian Huber 2016-05-30 16:05:15 +02:00
parent b36759105e
commit 70d52b8d19
2 changed files with 6 additions and 5 deletions

View File

@ -75,7 +75,7 @@ rtems_bsd_mutex_lock(struct lock_object *lock, rtems_bsd_mutex *m)
Thread_Control *executing; Thread_Control *executing;
Thread_Control *owner; Thread_Control *owner;
_Thread_queue_Context_initialize(&queue_context, NULL); _Thread_queue_Context_initialize(&queue_context);
_Thread_queue_Acquire(&m->queue, &queue_context.Lock_context); _Thread_queue_Acquire(&m->queue, &queue_context.Lock_context);
owner = m->owner; owner = m->owner;
@ -100,7 +100,7 @@ rtems_bsd_mutex_trylock(struct lock_object *lock, rtems_bsd_mutex *m)
Thread_Control *executing; Thread_Control *executing;
Thread_Control *owner; Thread_Control *owner;
_Thread_queue_Context_initialize(&queue_context, NULL); _Thread_queue_Context_initialize(&queue_context);
_Thread_queue_Acquire(&m->queue, &queue_context.Lock_context); _Thread_queue_Acquire(&m->queue, &queue_context.Lock_context);
owner = m->owner; owner = m->owner;
@ -134,7 +134,7 @@ rtems_bsd_mutex_unlock(rtems_bsd_mutex *m)
Thread_Control *owner; Thread_Control *owner;
int nest_level; int nest_level;
_Thread_queue_Context_initialize(&queue_context, NULL); _Thread_queue_Context_initialize(&queue_context);
_Thread_queue_Acquire(&m->queue, &queue_context.Lock_context); _Thread_queue_Acquire(&m->queue, &queue_context.Lock_context);
nest_level = m->nest_level; nest_level = m->nest_level;

View File

@ -60,10 +60,11 @@ rtems_bsd_mutex_lock_more(struct lock_object *lock, rtems_bsd_mutex *m,
_Thread_Raise_priority(owner, executing->current_priority); _Thread_Raise_priority(owner, executing->current_priority);
++executing->resource_count; ++executing->resource_count;
_Thread_queue_Context_set_expected_level(queue_context, 1);
_Thread_queue_Enqueue_critical(&m->queue, _Thread_queue_Enqueue_critical(&m->queue,
BSD_MUTEX_TQ_OPERATIONS, executing, BSD_MUTEX_TQ_OPERATIONS, executing,
STATES_WAITING_FOR_MUTEX, WATCHDOG_NO_TIMEOUT, 0, STATES_WAITING_FOR_MUTEX, WATCHDOG_NO_TIMEOUT,
&queue_context->Lock_context); queue_context);
} }
} }