diff options
| author | Meco Man <[email protected]> | 2021-05-30 11:43:44 +0800 |
|---|---|---|
| committer | Meco Man <[email protected]> | 2021-05-30 11:47:33 +0800 |
| commit | 8b82b834826249dff299353da44188429d18dde2 (patch) | |
| tree | 6f7f606156a90e1504c40205d1b81c3d6001af3a /src | |
| parent | 06927af8f1955778b8f3d5f6afc09e01de4e17c1 (diff) | |
[kernel] 增加rt_mutex_trytake
Diffstat (limited to 'src')
| -rwxr-xr-x | src/ipc.c | 18 |
1 files changed, 16 insertions, 2 deletions
@@ -37,7 +37,8 @@ * 2020-07-29 Meco Man fix thread->event_set/event_info when received an * event without pending * 2020-10-11 Meco Man add value overflow-check code - * 2021-01-03 Meco Man add rt_mb_urgent() + * 2021-01-03 Meco Man implement rt_mb_urgent() + * 2021-05-30 Meco Man implement rt_mutex_trytake() * 2021-01-20 hupu fix priority inversion bug of mutex */ @@ -452,7 +453,7 @@ RTM_EXPORT(rt_sem_take); */ rt_err_t rt_sem_trytake(rt_sem_t sem) { - return rt_sem_take(sem, 0); + return rt_sem_take(sem, RT_WAITING_NO); } RTM_EXPORT(rt_sem_trytake); @@ -844,6 +845,19 @@ __again: RTM_EXPORT(rt_mutex_take); /** + * This function will try to take a mutex and immediately return + * + * @param mutex the mutex object + * + * @return the error code + */ +rt_err_t rt_mutex_trytake(rt_mutex_t mutex) +{ + return rt_mutex_take(mutex, RT_WAITING_NO); +} +RTM_EXPORT(rt_mutex_trytake); + +/** * This function will release a mutex, if there are threads suspended on mutex, * it will be waked up. * |
