libcoap 4.3.5-develop-4c7ce99
Loading...
Searching...
No Matches
Multi-thread Support

Internal API for Multi-thread Locking Support. More...

+ Collaboration diagram for Multi-thread Support:

Macros

#define coap_lock_lock(c, failed)
 Dummy for no thread-safe code.
 
#define coap_lock_unlock(c)
 Dummy for no thread-safe code.
 
#define coap_lock_init()
 Dummy for no thread-safe code.
 
#define coap_lock_check_locked(c)   {}
 Dummy for no thread-safe code.
 
#define coap_lock_callback(c, func)   func
 Dummy for no thread-safe code.
 
#define coap_lock_callback_ret(r, c, func)   (r) = func
 Dummy for no thread-safe code.
 
#define coap_lock_callback_release(c, func, failed)   func
 Dummy for no thread-safe code.
 
#define coap_lock_callback_ret_release(r, c, func, failed)   (r) = func
 Dummy for no thread-safe code.
 
#define coap_lock_invert(c, alt_lock, failed)   alt_lock
 Dummy for no thread-safe code.
 

Typedefs

typedef coap_mutex_t coap_lock_t
 

Detailed Description

Internal API for Multi-thread Locking Support.

Macro Definition Documentation

◆ coap_lock_callback

#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

Parameters
cContext.
funcapp call-back function to invoke.

Definition at line 504 of file coap_threadsafe_internal.h.

◆ coap_lock_callback_release

#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

Parameters
cContext.
funcapp call-back function to invoke.
failedCode to execute on (re-)lock failure.

Definition at line 535 of file coap_threadsafe_internal.h.

◆ coap_lock_callback_ret

#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

Parameters
rReturn value from func.
cContext.
funcapp call-back function to invoke.

Definition at line 520 of file coap_threadsafe_internal.h.

◆ coap_lock_callback_ret_release

#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

Parameters
rReturn value from func.
cContext to unlock.
funcapp call-back function to invoke.
failedCode to execute on lock failure

Definition at line 553 of file coap_threadsafe_internal.h.

◆ coap_lock_check_locked

#define coap_lock_check_locked (   c)    {}

Dummy for no thread-safe code.

libcoap library code. Check that global_lock is locked.

Definition at line 490 of file coap_threadsafe_internal.h.

◆ coap_lock_init

#define coap_lock_init ( )

Dummy for no thread-safe code.

libcoap library code. Initialize the global_lock.

Definition at line 483 of file coap_threadsafe_internal.h.

◆ coap_lock_invert

#define coap_lock_invert (   c,
  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)

Parameters
cContext.
alt_lockAlternative lock locking code.
failedCode to execute on lock failure.

Definition at line 570 of file coap_threadsafe_internal.h.

◆ coap_lock_lock

#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.

Parameters
cContext.
failedCode to execute on lock failure.

Definition at line 464 of file coap_threadsafe_internal.h.

◆ coap_lock_unlock

#define coap_lock_unlock (   c)

Dummy for no thread-safe code.

libcoap library code. Unlock The global_lock.

Unlocked when Same thread locked context

Parameters
cContext.

Definition at line 476 of file coap_threadsafe_internal.h.

Typedef Documentation

◆ coap_lock_t

Definition at line 444 of file coap_threadsafe_internal.h.