VLC
4.0.0-dev
|
Data Structures | |
struct | vlc_thread |
struct | vlc_threadvar |
struct | vlc_timer |
Macros | |
#define | Q2LL(q) ( *( long long * )&( q )) |
Functions | |
static void | vlc_cancel_self (PVOID dummy) |
static ULONG | vlc_DosWaitEventSemEx (HEV hev, ULONG ulTimeout) |
static ULONG | vlc_WaitForSingleObject (HEV hev, ULONG ulTimeout) |
static ULONG | vlc_Sleep (ULONG ulTimeout) |
int | _CRT_init (void) |
void | _CRT_term (void) |
unsigned long _System | _DLL_InitTerm (unsigned long, unsigned long) |
int | vlc_threadvar_create (vlc_threadvar_t *p_tls, void(*destr)(void *)) |
Allocates a thread-specific variable. More... | |
void | vlc_threadvar_delete (vlc_threadvar_t *p_tls) |
Deallocates a thread-specific variable. More... | |
int | vlc_threadvar_set (vlc_threadvar_t key, void *value) |
Sets a thread-specific variable. More... | |
void * | vlc_threadvar_get (vlc_threadvar_t key) |
Gets the value of a thread-local variable for the calling thread. More... | |
void | vlc_threads_setup (libvlc_int_t *p_libvlc) |
static void | vlc_thread_cleanup (struct vlc_thread *th) |
static void | vlc_entry (void *p) |
static int | vlc_clone_attr (vlc_thread_t *p_handle, bool detached, void *(*entry)(void *), void *data, int priority) |
int | vlc_clone (vlc_thread_t *p_handle, void *(*entry)(void *), void *data, int priority) |
Creates and starts a new thread. More... | |
void | vlc_join (vlc_thread_t th, void **result) |
Waits for a thread to complete (if needed), then destroys it. More... | |
int | vlc_clone_detach (vlc_thread_t *p_handle, void *(*entry)(void *), void *data, int priority) |
int | vlc_set_priority (vlc_thread_t th, int priority) |
unsigned long | vlc_thread_id (void) |
Thread identifier. More... | |
void | vlc_cancel (vlc_thread_t thread_id) |
Marks a thread as cancelled. More... | |
int | vlc_savecancel (void) |
Disables thread cancellation. More... | |
void | vlc_restorecancel (int state) |
Restores the cancellation state. More... | |
void | vlc_testcancel (void) |
Issues an explicit deferred cancellation point. More... | |
void | vlc_control_cancel (vlc_cleanup_t *cleaner) |
Internal handler for thread cancellation. More... | |
static int | vlc_select (int nfds, fd_set *rdset, fd_set *wrset, fd_set *exset, struct timeval *timeout) |
__declspec (dllexport) | |
vlc_tick_t | vlc_tick_now (void) |
Precision monotonic clock. More... | |
void | vlc_tick_wait (vlc_tick_t deadline) |
Waits until a deadline. More... | |
void | vlc_tick_sleep (vlc_tick_t delay) |
Waits for an interval of time. More... | |
static void | vlc_timer_do (void *arg) |
int | vlc_timer_create (vlc_timer_t *id, void(*func)(void *), void *data) |
Initializes an asynchronous timer. More... | |
void | vlc_timer_destroy (vlc_timer_t timer) |
Destroys an initialized timer. More... | |
void | vlc_timer_schedule (vlc_timer_t timer, bool absolute, vlc_tick_t value, vlc_tick_t interval) |
Arms or disarms an initialized timer. More... | |
unsigned | vlc_timer_getoverrun (vlc_timer_t timer) |
Fetches and resets the overrun counter for a timer. More... | |
unsigned | vlc_GetCPUCount (void) |
Count CPUs. More... | |
Variables | |
static vlc_threadvar_t | thread_key |
static vlc_mutex_t | super_mutex |
static vlc_cond_t | super_variable |
vlc_rwlock_t | config_lock |
struct vlc_threadvar * | vlc_threadvar_last = NULL |
#define Q2LL | ( | q | ) | ( *( long long * )&( q )) |
Referenced by vlc_tick_now().
__declspec | ( | dllexport | ) |
int _CRT_init | ( | void | ) |
Referenced by _DLL_InitTerm().
void _CRT_term | ( | void | ) |
Referenced by _DLL_InitTerm().
unsigned long _System _DLL_InitTerm | ( | unsigned long | hmod, |
unsigned long | flag | ||
) |
|
static |
References vlc_thread::killed, and likely.
Referenced by vlc_DosWaitEventSemEx(), and vlc_testcancel().
|
static |
References vlc_thread::cancel_event, vlc_thread::cancel_sock, vlc_thread::cleaners, vlc_thread::data, vlc_thread::detached, vlc_thread::done_event, vlc_thread::entry, vlc_thread::killable, vlc_thread::killed, vlc_thread::tid, unlikely, and vlc_entry().
Referenced by vlc_clone(), and vlc_clone_detach().
int vlc_clone_detach | ( | vlc_thread_t * | p_handle, |
void *(*)(void *) | entry, | ||
void * | data, | ||
int | priority | ||
) |
References vlc_clone_attr().
|
static |
References vlc_thread::cancel_event, vlc_thread::killable, thread_key, vlc_cancel_self(), and vlc_threadvar_get().
Referenced by vlc_Sleep(), and vlc_WaitForSingleObject().
|
static |
References vlc_thread::data, vlc_thread::done_event, vlc_thread::entry, vlc_thread::killable, p, thread_key, vlc_thread_cleanup(), and vlc_threadvar_set().
Referenced by vlc_clone_attr().
|
static |
References vlc_thread::cancel_sock, thread_key, vlc_testcancel(), and vlc_threadvar_get().
int vlc_set_priority | ( | vlc_thread_t | th, |
int | priority | ||
) |
References VLC_EGENERIC, and VLC_SUCCESS.
|
static |
References vlc_DosWaitEventSemEx().
Referenced by vlc_tick_wait().
|
static |
void vlc_threads_setup | ( | libvlc_int_t * | p_libvlc | ) |
|
static |
References arg, count, vlc_timer::data, vlc_timer::func, vlc_timer::hev, vlc_timer::htimer, vlc_timer::interval, and vlc_timer::quit.
Referenced by vlc_timer_create().
|
static |
References vlc_DosWaitEventSemEx().
Referenced by vlc_join().
vlc_rwlock_t config_lock |
Referenced by _DLL_InitTerm().
|
static |
|
static |
|
static |
Referenced by _DLL_InitTerm(), vlc_control_cancel(), vlc_DosWaitEventSemEx(), vlc_entry(), vlc_restorecancel(), vlc_savecancel(), vlc_select(), and vlc_testcancel().
struct vlc_threadvar * vlc_threadvar_last = NULL |
Referenced by vlc_thread_cleanup(), vlc_threadvar_create(), vlc_threadvar_delete(), and vlc_threadvars_cleanup().