VSF Documented
mutex.h
Go to the documentation of this file.
1#ifndef __VSF_LINUX_MUTEX_H__
2#define __VSF_LINUX_MUTEX_H__
3
4#include "kernel/vsf_kernel.h"
5
6#ifdef __cplusplus
7extern "C" {
8#endif
9
10struct mutex {
12};
13
14static inline void mutex_init(struct mutex *lock)
15{
17}
18
19static inline void mutex_lock(struct mutex *lock)
20{
21 vsf_thread_mutex_enter(&lock->mutex, -1);
22}
23
24static inline int mutex_trylock(struct mutex *lock)
25{
26 return VSF_SYNC_GET == vsf_thread_mutex_enter(&lock->mutex, 0) ? 1 : 0;
27}
28
29static inline void mutex_unlock(struct mutex *lock)
30{
32}
33
34static inline void mutex_destroy(struct mutex *lock)
35{
36}
37
38#ifdef __cplusplus
39}
40#endif
41
42#endif
Sync object with an owner (mutex base); supports priority inheritance; the owner must leave it itself...
Definition vsf_eda.h:2009
Definition mutex.h:10
vsf_mutex_t mutex
Definition mutex.h:11
#define vsf_eda_mutex_leave(__pmtx)
Leave (unlock) a mutex, waking up one pending task if any.
Definition vsf_eda.h:264
#define vsf_eda_mutex_init(__pmtx)
Initialize a mutex.
Definition vsf_eda.h:209
@ VSF_SYNC_GET
Obtained.
Definition vsf_eda.h:2282
#define vsf_thread_mutex_enter(__mtx, timeout)
Enter (acquire) a mutex inside a thread.
Definition vsf_thread.h:943
Generated from commit: vsfteam/vsf@a5104db