|
Lely core libraries 2.3.5
|
A polling event loop. More...

Data Fields | |
| ev_poll_t * | poll |
A pointer to the interface used to poll for events (can be NULL). | |
| size_t | npoll |
| The number of threads allowed to poll simultaneously. | |
| const struct ev_std_exec_impl_vtbl * | impl_vptr |
| A pointer to the virtual table containing the interface used by the standard executor (exec). | |
| struct ev_std_exec | exec |
| The executor corresponding to the event loop. | |
| mtx_t | mtx |
| The mutex protecting the task queue. | |
| struct sllist | queue |
| The queue of pending tasks. | |
| struct ev_task | task |
| The task used to trigger polling. | |
| atomic_size_t | ntasks |
| The number of pending tasks. | |
| int | stopped |
| A flag specifying whether the event loop is stopped. | |
| struct dllist | waiting |
| The list of waiting contexts. | |
| struct dllist | polling |
| The list of polling contexts. | |
| size_t | npolling |
| The number of polling contexts. | |
| struct ev_loop_ctx * | unused |
| The list of unused contexts. | |
| size_t | nunused |
| The number of unused contexts. | |
| size_t ev_loop::npoll |
| atomic_size_t ev_loop::ntasks |
The number of pending tasks.
This equals the number tasks in queue plus the number of calls to ev_exec_on_task_init() minus those to ev_exec_on_task_fini(). ev_loop_stop() is called once this value reaches 0.
| size_t ev_loop::nunused |
The number of unused contexts.
This WILL NOT exceed LELY_EV_LOOP_CTX_MAX_UNUSED.