#define VLC_API
Definition: fourcc_gen.c:31
The executor (also vlc_executor_t, exposed as opaque type in the public header).
Definition: executor.c:55
Doubly-linked list node.
Definition: vlc_list.h:44
A Runnable encapsulates a task to be run from an executor thread.
Definition: vlc_executor.h:38
void(* run)(void *userdata)
This function is to be executed by a vlc_executor_t.
Definition: vlc_executor.h:55
void * userdata
Userdata passed back to run().
Definition: vlc_executor.h:60
struct vlc_list node
Definition: vlc_executor.h:63
This file is a collection of common definitions and types.
void vlc_executor_WaitIdle(vlc_executor_t *executor)
Wait until all submitted tasks are completed or canceled.
Definition: executor.c:251
void vlc_executor_Submit(vlc_executor_t *executor, struct vlc_runnable *runnable)
Submit a runnable for execution.
Definition: executor.c:210
void vlc_executor_Delete(vlc_executor_t *executor)
Delete an executor.
Definition: executor.c:260
vlc_executor_t * vlc_executor_New(unsigned max_threads)
Create a new executor.
Definition: executor.c:177
bool vlc_executor_Cancel(vlc_executor_t *executor, struct vlc_runnable *runnable)
Cancel a runnable previously submitted.
Definition: executor.c:227
This provides convenience helpers for linked lists.