RTEMS 6.3
Loading...
Searching...
No Matches

This source file contains the implementation of _Mutex_Acquire(), _Mutex_Acquire_timed(), _Mutex_Acquire_timed_ticks(), _Mutex_Try_acquire(), _Mutex_Release(), _Mutex_recursive_Acquire(), _Mutex_recursive_Acquire_timed(), _Mutex_recursive_Try_acquire(), and _Mutex_recursive_Release(). More...

#include <sys/lock.h>
#include <errno.h>
#include <rtems/score/assert.h>
#include <rtems/score/muteximpl.h>
#include <rtems/score/threadimpl.h>
#include <rtems/score/todimpl.h>

Macros

#define MUTEX_TQ_OPERATIONS   &_Thread_queue_Operations_priority_inherit

Functions

 RTEMS_STATIC_ASSERT (offsetof(Mutex_Control, Queue)==offsetof(struct _Mutex_Control, _Queue), MUTEX_CONTROL_QUEUE)
 RTEMS_STATIC_ASSERT (sizeof(Mutex_Control)==sizeof(struct _Mutex_Control), MUTEX_CONTROL_SIZE)
 RTEMS_STATIC_ASSERT (offsetof(Mutex_recursive_Control, Mutex)==offsetof(struct _Mutex_recursive_Control, _Mutex), MUTEX_RECURSIVE_CONTROL_MUTEX)
 RTEMS_STATIC_ASSERT (offsetof(Mutex_recursive_Control, nest_level)==offsetof(struct _Mutex_recursive_Control, _nest_level), MUTEX_RECURSIVE_CONTROL_NEST_LEVEL)
 RTEMS_STATIC_ASSERT (sizeof(Mutex_recursive_Control)==sizeof(struct _Mutex_recursive_Control), MUTEX_RECURSIVE_CONTROL_SIZE)
void _Mutex_Acquire (struct _Mutex_Control *_mutex)
int _Mutex_Acquire_timed (struct _Mutex_Control *_mutex, const struct timespec *abstime)
int _Mutex_Try_acquire (struct _Mutex_Control *_mutex)
void _Mutex_Release (struct _Mutex_Control *_mutex)
void _Mutex_recursive_Acquire (struct _Mutex_recursive_Control *_mutex)
int _Mutex_recursive_Acquire_timed (struct _Mutex_recursive_Control *_mutex, const struct timespec *abstime)
int _Mutex_recursive_Try_acquire (struct _Mutex_recursive_Control *_mutex)
void _Mutex_recursive_Release (struct _Mutex_recursive_Control *_mutex)

Detailed Description

This source file contains the implementation of _Mutex_Acquire(), _Mutex_Acquire_timed(), _Mutex_Acquire_timed_ticks(), _Mutex_Try_acquire(), _Mutex_Release(), _Mutex_recursive_Acquire(), _Mutex_recursive_Acquire_timed(), _Mutex_recursive_Try_acquire(), and _Mutex_recursive_Release().