libcoap 4.3.5-develop-17c3fee
|
Internal API for Multi-thread Locking Support. More...
Macros | |
#define | coap_lock_lock(failed) |
Dummy for no thread-safe code. | |
#define | coap_lock_unlock() |
Dummy for no thread-safe code. | |
#define | coap_lock_init() |
Dummy for no thread-safe code. | |
#define | coap_lock_check_locked() {} |
Dummy for no thread-safe code. | |
#define | coap_lock_callback(func) func |
Dummy for no thread-safe code. | |
#define | coap_lock_callback_ret(r, func) (r) = func |
Dummy for no thread-safe code. | |
#define | coap_lock_callback_release(func, failed) func |
Dummy for no thread-safe code. | |
#define | coap_lock_callback_ret_release(r, func, failed) (r) = func |
Dummy for no thread-safe code. | |
#define | coap_lock_invert(alt_lock, failed) alt_lock |
Dummy for no thread-safe code. | |
Typedefs | |
typedef coap_mutex_t | coap_lock_t |
Internal API for Multi-thread Locking Support.
#define coap_lock_callback | ( | func | ) | func |
Dummy for no thread-safe code.
libcoap library code. Invoke an app callback, leaving global_lock locked.
Called when Locked
func | app call-back function to invoke. |
Definition at line 490 of file coap_threadsafe_internal.h.
#define coap_lock_callback_release | ( | func, | |
failed | |||
) | func |
Dummy for no thread-safe code.
libcoap library code. Invoke an app callback, unlocking global_lock first.
Called when Locked
func | app call-back function to invoke. |
failed | Code to execute on (re-)lock failure. |
Definition at line 519 of file coap_threadsafe_internal.h.
#define coap_lock_callback_ret | ( | r, | |
func | |||
) | (r) = func |
Dummy for no thread-safe code.
libcoap library code. Invoke an app callback that has a return value, leaving global_lock locked.
Called when Locked
r | Return value from func . |
func | app call-back function to invoke. |
Definition at line 505 of file coap_threadsafe_internal.h.
#define coap_lock_callback_ret_release | ( | r, | |
func, | |||
failed | |||
) | (r) = func |
Dummy for no thread-safe code.
libcoap library code. Invoke an app callback that has a return value, unlocking global_lock first.
Called when Locked (need to unlock over app call-back) Unlocked by thread free'ing off context
r | Return value from func . |
func | app call-back function to invoke. |
failed | Code to execute on lock failure |
Definition at line 536 of file coap_threadsafe_internal.h.
#define coap_lock_check_locked | ( | ) | {} |
Dummy for no thread-safe code.
libcoap library code. Check that global_lock is locked.
Definition at line 477 of file coap_threadsafe_internal.h.
#define coap_lock_init | ( | ) |
Dummy for no thread-safe code.
libcoap library code. Initialize the global_lock.
Definition at line 470 of file coap_threadsafe_internal.h.
#define coap_lock_invert | ( | alt_lock, | |
failed | |||
) | alt_lock |
Dummy for no thread-safe code.
libcoap library code. Lock an alternative lock. To prevent locking order issues, global_lock is unlocked, the alternative lock is locked and then global_lock is re-locked.
Called when Locked (need to unlock over locking of alternative lock)
alt_lock | Alternative lock locking code. |
failed | Code to execute on lock failure. |
Definition at line 552 of file coap_threadsafe_internal.h.
#define coap_lock_lock | ( | failed | ) |
Dummy for no thread-safe code.
libcoap library code. Lock The global_lock.
Invoked when Not locked at all Locked, app call-back, call from app call-back Locked, app call-back, call from app call-back, app call-back, call from app call-back Result global_lock locked. global_lock not locked if libcoap not started and failed
is executed. failed
must be code that skips doing the lock protected code.
failed | Code to execute on lock failure. |
Definition at line 453 of file coap_threadsafe_internal.h.
#define coap_lock_unlock | ( | ) |
Dummy for no thread-safe code.
libcoap library code. Unlock The global_lock.
Unlocked when Same thread locked context
Definition at line 463 of file coap_threadsafe_internal.h.
typedef coap_mutex_t coap_lock_t |
Definition at line 434 of file coap_threadsafe_internal.h.