nRF Connect SDK API 0.1.0
Loading...
Searching...
No Matches
multithreading_lock.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2019 - 2020 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5 */
6
13#ifndef MULTITHREADING_LOCK_H__
14#define MULTITHREADING_LOCK_H__
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20#include <zephyr/kernel.h>
21
23#define MULTITHREADING_LOCK_ACQUIRE() \
24 multithreading_lock_acquire(K_FOREVER)
25
27#define MULTITHREADING_LOCK_ACQUIRE_NO_WAIT() \
28 multithreading_lock_acquire(K_NO_WAIT)
29
31#define MULTITHREADING_LOCK_ACQUIRE_FOREVER_WAIT() \
32 multithreading_lock_acquire(K_FOREVER)
33
35#define MULTITHREADING_LOCK_RELEASE() multithreading_lock_release()
36
37
49int multithreading_lock_acquire(k_timeout_t timeout);
50
56
57#ifdef __cplusplus
58}
59#endif
60
61#endif /* MULTITHREADING_LOCK_H__ */
int multithreading_lock_acquire(k_timeout_t timeout)
Try to take the lock with the specified blocking behavior.
void multithreading_lock_release(void)
Unlock the lock.