![]() |
EM-ODP 4.4.0
Event Machine on ODP
|
#include <stdbool.h>#include <stdint.h>#include <odp_api.h>#include <event_machine.h>#include "em_error.h"#include "em_event_group_types.h"#include "em_internal_event.h"#include "em_mem.h"

Go to the source code of this file.
Macros | |
| #define | EGRP_CNT_ERROR(err, escope, egrp_cnt, fmt, ...) |
| #define | invalid_egrp(event_group) ((unsigned int)egrp_hdl2idx((event_group)) >= EM_MAX_EVENT_GROUPS) |
Functions | |
| em_status_t | event_group_init (event_group_tbl_t *const event_group_tbl, odp_stash_t *const event_group_pool) |
| em_status_t | event_group_term (void) |
| em_event_group_t | event_group_alloc (void) |
| em_status_t | event_group_free (em_event_group_t event_group) |
| unsigned int | event_group_count (void) |
| em_status_t | send_ctrl_queue (em_event_t event, em_queue_t queue, em_event_group_t event_group) |
| void | event_group_info_print (void) |
EM internal event group functions
Definition in file em_event_group.h.
| #define EGRP_CNT_ERROR | ( | err, | |
| escope, | |||
| egrp_cnt, | |||
| fmt, | |||
| ... | |||
| ) |
Error reporting macro for event group counters in non-safe mode (only .post_cnt)
Definition at line 66 of file em_event_group.h.
| #define invalid_egrp | ( | event_group | ) | ((unsigned int)egrp_hdl2idx((event_group)) >= EM_MAX_EVENT_GROUPS) |
Definition at line 74 of file em_event_group.h.
| em_event_group_t event_group_alloc | ( | void | ) |
Definition at line 162 of file em_event_group.c.
| unsigned int event_group_count | ( | void | ) |
Definition at line 202 of file em_event_group.c.
| em_status_t event_group_free | ( | em_event_group_t | event_group | ) |
Definition at line 181 of file em_event_group.c.
| void event_group_info_print | ( | void | ) |
Print information about all event groups
Definition at line 215 of file em_event_group.c.
| em_status_t event_group_init | ( | event_group_tbl_t *const | event_group_tbl, |
| odp_stash_t *const | event_group_pool | ||
| ) |
Definition at line 60 of file em_event_group.c.
| em_status_t event_group_term | ( | void | ) |
Definition at line 138 of file em_event_group.c.
| em_status_t send_ctrl_queue | ( | em_event_t | event, |
| em_queue_t | queue, | ||
| em_event_group_t | event_group | ||
| ) |
Send an internal control event to an EM unscheduled control queue, tagged to an event group.
Internal counterpart to em_send_group() for EM's own control-event plumbing: the per-core/shared unscheduled ctrl queues are dispatched by EM, so the event group count is decremented normally. Unlike em_send_group() this skips the user-facing argument checks, the unscheduled-queue restriction and the user API send-hooks. The caller must pass valid internal arguments.
Definition at line 921 of file event_machine_event_group.c.