libcoap 4.3.5-develop-7cf7465
|
Internal API for Multi-thread Locking Support. More...
Macros | |
#define | coap_lock_lock(c, failed) |
Dummy for no thread-safe code. More... | |
#define | coap_lock_unlock(c) |
Dummy for no thread-safe code. More... | |
#define | coap_lock_init() |
Dummy for no thread-safe code. More... | |
#define | coap_lock_check_locked(c) {} |
Dummy for no thread-safe code. More... | |
#define | coap_lock_callback(c, func) func |
Dummy for no thread-safe code. More... | |
#define | coap_lock_callback_ret(r, c, func) (r) = func |
Dummy for no thread-safe code. More... | |
#define | coap_lock_callback_release(c, func, failed) func |
Dummy for no thread-safe code. More... | |
#define | coap_lock_callback_ret_release(r, c, func, failed) (r) = func |
Dummy for no thread-safe code. More... | |
#define | coap_lock_invert(c, alt_lock, failed) func |
Dummy for no thread-safe code. More... | |
Typedefs | |
typedef coap_mutex_t | coap_lock_t |
Internal API for Multi-thread Locking Support.
#define coap_lock_callback | ( | c, | |
func | |||
) | func |
Dummy for no thread-safe code.
libcoap library code. Invoke an app callback, leaving global_lock locked.
Called when Locked
c | Context. |
func | app call-back function to invoke. |
Definition at line 505 of file coap_threadsafe_internal.h.
#define coap_lock_callback_release | ( | c, | |
func, | |||
failed | |||
) | func |
Dummy for no thread-safe code.
libcoap library code. Invoke an app callback, unlocking global_lock first.
Called when Locked
c | Context. |
func | app call-back function to invoke. |
failed | Code to execute on (re-)lock failure. |
Definition at line 536 of file coap_threadsafe_internal.h.
#define coap_lock_callback_ret | ( | r, | |
c, | |||
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 . |
c | Context. |
func | app call-back function to invoke. |
Definition at line 521 of file coap_threadsafe_internal.h.
#define coap_lock_callback_ret_release | ( | r, | |
c, | |||
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 . |
c | Context to unlock. |
func | app call-back function to invoke. |
failed | Code to execute on lock failure |
Definition at line 554 of file coap_threadsafe_internal.h.
#define coap_lock_check_locked | ( | c | ) | {} |
Dummy for no thread-safe code.
libcoap library code. Check that global_lock is locked.
Definition at line 491 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 484 of file coap_threadsafe_internal.h.
#define coap_lock_invert | ( | c, | |
alt_lock, | |||
failed | |||
) | func |
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)
c | Context. |
alt_lock | Alternative lock locking code. |
failed | Code to execute on lock failure. |
Definition at line 571 of file coap_threadsafe_internal.h.
#define coap_lock_lock | ( | c, | |
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.
c | Context. |
failed | Code to execute on lock failure. |
Definition at line 465 of file coap_threadsafe_internal.h.
#define coap_lock_unlock | ( | c | ) |
Dummy for no thread-safe code.
libcoap library code. Unlock The global_lock.
Unlocked when Same thread locked context
c | Context. |
Definition at line 477 of file coap_threadsafe_internal.h.
typedef coap_mutex_t coap_lock_t |
Definition at line 445 of file coap_threadsafe_internal.h.