Go to the documentation of this file.
21 #ifndef VLC_EXECUTOR_H
22 #define VLC_EXECUTOR_H
void * userdata
Userdata passed back to run().
Definition: vlc_executor.h:60
#define VLC_API
Definition: fourcc_gen.c:31
VLC_EXPORT void vlc_executor_Delete(vlc_executor_t *executor)
Delete an executor.
Definition: executor.c:256
VLC_EXPORT void vlc_executor_WaitIdle(vlc_executor_t *executor)
Wait until all submitted tasks are completed or canceled.
Definition: executor.c:247
VLC_EXPORT vlc_executor_t * vlc_executor_New(unsigned max_threads)
Create a new executor.
Definition: executor.c:173
The executor (also vlc_executor_t, exposed as opaque type in the public header).
Definition: executor.c:55
VLC_EXPORT void vlc_executor_Submit(vlc_executor_t *executor, struct vlc_runnable *runnable)
Submit a runnable for execution.
Definition: executor.c:206
Doubly-linked list node.
Definition: vlc_list.h:43
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
struct vlc_list node
Definition: vlc_executor.h:63
VLC_EXPORT bool vlc_executor_Cancel(vlc_executor_t *executor, struct vlc_runnable *runnable)
Cancel a runnable previously submitted.
Definition: executor.c:223