Loading...
Searching...
No Matches
Multi-thread Support
Libcoap Internal API

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)
| Dummy for no thread-safe code.
#define | coap_lock_callback_ret(r, c, func)
| Dummy for no thread-safe code.
#define | coap_lock_callback_release(c, func, failed)
| Dummy for no thread-safe code.
#define | coap_lock_callback_ret_release(r, c, func, failed)
| Dummy for no thread-safe code.
#define | coap_lock_invert(c, alt_lock, failed)
| 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 )

Value:
func

Dummy for no thread-safe code.

libcoap library code. Invoke an app callback, leaving global_lock locked.

Called when Locked

Parameters

  c | Context.
  func | app call-back function to invoke.

Definition at line 505 of file coap_threadsafe_internal.h.

## coap_lock_callback_release

#define coap_lock_callback_release | ( |  | c,
|  |  | func,
|  |  | failed )

Value:
func

Dummy for no thread-safe code.

libcoap library code. Invoke an app callback, unlocking global_lock first.

Called when Locked

Parameters

  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.

## coap_lock_callback_ret

#define coap_lock_callback_ret | ( |  | r,
|  |  | c,
|  |  | func )

Value:
(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

  r | Return value from `func`.
  c | Context.
  func | app call-back function to invoke.

Definition at line 521 of file coap_threadsafe_internal.h.

## coap_lock_callback_ret_release

#define coap_lock_callback_ret_release | ( |  | r,
|  |  | c,
|  |  | func,
|  |  | failed )

Value:
(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

  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.

## coap_lock_check_locked

#define coap_lock_check_locked | ( |  | c | ) |

Value:
{}

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.

## coap_lock_init

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

## coap_lock_invert

#define coap_lock_invert | ( |  | c,
|  |  | alt_lock,
|  |  | failed )

Value:
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)

Parameters

  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.

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

  c | Context.
  failed | Code to execute on lock failure.

Definition at line 465 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

  c | Context.

Definition at line 477 of file coap_threadsafe_internal.h.

## Typedef Documentation

## coap_lock_t

typedef coap_mutex_t coap_lock_t

Definition at line 445 of file coap_threadsafe_internal.h.