Loading...
Searching...
No Matches
Thread groups
Base API » Kernel Objects

C thread group interface, see L4::Thread_group for the C++ interface. More...

Collaboration diagram for Thread groups:

## Functions

l4_msgtag_t | l4_thread_group_add (l4_cap_idx_t tg, l4_cap_idx_t thread) L4_NOTHROW
| Add thread to a thread group.
l4_msgtag_t | l4_thread_group_remove (l4_cap_idx_t tg, l4_cap_idx_t thread) L4_NOTHROW
| Remove thread from a thread group.

## Detailed Description

C thread group interface, see L4::Thread_group for the C++ interface.

An L4 thread group is a collection of threads used as indirection for IPC gate and IRQ objects such that these objects can have multiple receivers, from which the kernel selects one according to a policy.

The primary use case for thread groups are multi-threaded servers and CPU core local IRQ / IPC delivery.

A thread can be bound to at most one thread group. Before binding a thread to a thread group, the thread must be bound to a task. All threads bound to the same thread group must belong to the same task.

## Function Documentation

## l4_thread_group_add()

l4_msgtag_t l4_thread_group_add | ( | l4_cap_idx_t | tg,
|  | l4_cap_idx_t | thread )

inline

Add thread to a thread group.

Parameters

  tg | Thread group object.
  thread | Thread to add to the thread group.

Definition at line 114 of file thread_group.h.

References L4_NOTHROW, and l4_utcb().

Here is the call graph for this function:

## l4_thread_group_remove()

l4_msgtag_t l4_thread_group_remove | ( | l4_cap_idx_t | tg,
|  | l4_cap_idx_t | thread )

inline

Remove thread from a thread group.

Parameters

  tg | Thread group object.
  thread | Thread to remove from the thread group.

Definition at line 121 of file thread_group.h.

References L4_NOTHROW, and l4_utcb().

Here is the call graph for this function: