EM-ODP 4.4.0
Event Machine on ODP
Loading...
Searching...
No Matches
em_term_local_t Struct Reference

#include <event_machine_init.h>

Data Fields

struct { 
 
   bool   in_use 
 
   bool   flush_orphans 
 
queue_group_flush 
 
uint32_t __internal_check
 

Detailed Description

Event Machine thread-local termination configuration options for em_term_local().

Examples
bench_event.c, bench_pool.c, and dyn_cores.c.

Definition at line 465 of file event_machine_init.h.

Field Documentation

◆ __internal_check

uint32_t em_term_local_t::__internal_check

Internal check - don't touch!

EM will verify that em_term_local_init() has been called before calling em_term_local().

Definition at line 514 of file event_machine_init.h.

◆ flush_orphans

bool em_term_local_t::flush_orphans

Flush events from orphaned queue groups during EM-core local termination (true/false) - only evaluated if '.in_use=true'.

During EM-core local termination: flush the scheduler from events from queues that belong to queue groups that only this terminating EM-core is handling. This may be needed to avoid events being stuck in the scheduler when an EM-core is terminating and orphaned queue groups exist with queues that still have events in them. Alternatively, the application may modify the orphan queue group(s) to have another EM-core handle the events, or create a new EM-core after EM-core termination on another cpu - then no flushing is needed (use 'false').

Overrides the config file value 'queue_group.term_local_flush_orphans' for the termination of this EM-core. false: don't flush orphaned queue groups (default). true: flush orphaned queue groups.

Only valid for EM-cores of the type EM_CORE_TYPE_WORKER and EM_CORE_TYPE_CONTROL. External threads do not dispatch and can thus not utilize this functionality.

Definition at line 505 of file event_machine_init.h.

◆ in_use

bool em_term_local_t::in_use

Select: Use the option 'flush_orphans' below or use the global default value from the EM config file. false: Use 'queue_group.term_local_flush_orphans' from the EM config file (default). true: Override the EM config file setting for this EM-core's termination and use the option '.flush_orphans' below.

Only valid for EM-cores of the type EM_CORE_TYPE_WORKER and EM_CORE_TYPE_CONTROL. External threads do not dispatch and can thus not utilize this functionality.

Definition at line 479 of file event_machine_init.h.


The documentation for this struct was generated from the following file: