|
| 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 | vlc_threadvar_create (vlc_threadvar_t *p_tls, void(*destr)(void *)) |
| | Allocates a thread-specific variable.
|
| |
| void | vlc_threadvar_delete (vlc_threadvar_t *p_tls) |
| | Deallocates a thread-specific variable.
|
| |
| int | vlc_threadvar_set (vlc_threadvar_t key, void *value) |
| | Sets a thread-specific variable.
|
| |
| void * | vlc_threadvar_get (vlc_threadvar_t key) |
| | Gets the value of a thread-local variable for the calling thread.
|
| |
| static void | wait_bucket_init (void) |
| |
| static void | wait_bucket_destroy (void) |
| |
| static struct wait_bucket * | wait_bucket_get (atomic_uint *addr) |
| |
| static struct wait_bucket * | wait_bucket_enter (atomic_uint *addr) |
| |
| static void | wait_bucket_leave (void *data) |
| |
| void | vlc_atomic_wait (void *addr, unsigned value) |
| | Waits on an address.
|
| |
| int | vlc_atomic_timedwait (void *addr, unsigned value, vlc_tick_t deadline) |
| | Waits on an address with a time-out.
|
| |
| void | vlc_atomic_notify_one (void *addr) |
| | Wakes up one thread on an address.
|
| |
| void | vlc_atomic_notify_all (void *addr) |
| | Wakes up all thread on an address.
|
| |
| void | vlc_threads_setup (libvlc_int_t *p_libvlc) |
| |
| static void | vlc_thread_cleanup (struct vlc_thread *th) |
| |
| static void | vlc_entry (void *p) |
| |
| int | vlc_clone (vlc_thread_t *p_handle, void *(*entry)(void *), void *data) |
| | Creates and starts a new thread.
|
| |
| void | vlc_join (vlc_thread_t th, void **result) |
| | Waits for a thread to complete (if needed), then destroys it.
|
| |
| unsigned long | vlc_thread_id (void) |
| | Thread identifier.
|
| |
| void() | vlc_thread_set_name (const char *name) |
| | Set the thread name of the current thread.
|
| |
| void | vlc_cancel (vlc_thread_t th) |
| | Marks a thread as cancelled.
|
| |
| int | vlc_savecancel (void) |
| | Disables thread cancellation.
|
| |
| void | vlc_restorecancel (int state) |
| | Restores the cancellation state.
|
| |
| void | vlc_testcancel (void) |
| | Issues an explicit deferred cancellation point.
|
| |
| void | vlc_control_cancel (vlc_cleanup_t *cleaner) |
| | Internal handler for thread cancellation.
|
| |
| 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.
|
| |
| void | vlc_tick_wait (vlc_tick_t deadline) |
| | Waits until a deadline.
|
| |
| void | vlc_tick_sleep (vlc_tick_t delay) |
| | Waits for an interval of time.
|
| |
| static void | vlc_timer_do (void *arg) |
| |
| int | vlc_timer_create (vlc_timer_t *id, void(*func)(void *), void *data) |
| | Initializes an asynchronous timer.
|
| |
| void | vlc_timer_destroy (vlc_timer_t timer) |
| | Destroys an initialized timer.
|
| |
| void | vlc_timer_schedule (vlc_timer_t timer, bool absolute, vlc_tick_t value, vlc_tick_t interval) |
| | Arms or disarms an initialized timer.
|
| |
| unsigned | vlc_timer_getoverrun (vlc_timer_t timer) |
| | Fetches and resets the overrun counter for a timer.
|
| |
| unsigned | vlc_GetCPUCount (void) |
| | Count CPUs.
|
| |
| int | _CRT_init (void) |
| |
| void | _CRT_term (void) |
| |
| unsigned long _System | _DLL_InitTerm (unsigned long, unsigned long) |
| |
| int vlc_atomic_timedwait |
( |
void * |
addr, |
|
|
unsigned |
val, |
|
|
vlc_tick_t |
deadline |
|
) |
| |
Waits on an address with a time-out.
This function operates as vlc_atomic_wait() but provides an additional time-out. If the deadline is reached, the thread resumes and the function returns.
- Parameters
-
| addr | address to check for |
| val | value to match at the address |
| deadline | deadline to wait until |
- Return values
-
| 0 | the function was woken up before the time-out |
| ETIMEDOUT | the deadline was reached |
References count, wait_bucket::lock, MS_FROM_VLC_TICK, vlc_cleanup_pop, vlc_cleanup_push, vlc_testcancel(), VLC_TICK_FROM_MS, vlc_tick_now(), vlc_WaitForSingleObject(), wait_bucket::wait, wait_bucket_enter(), and wait_bucket_leave().
| void vlc_atomic_wait |
( |
void * |
addr, |
|
|
unsigned |
val |
|
) |
| |
Waits on an address.
Puts the calling thread to sleep if a specific unsigned 32-bits value is stored at a specified address. The thread will sleep until it is woken up by a call to vlc_atomic_notify_one() or vlc_atomic_notify_all() in another thread, or spuriously.
If the value does not match, do nothing and return immediately.
- Parameters
-
| addr | address to check for |
| val | value to match at the address |
References count, wait_bucket::lock, vlc_cleanup_pop, vlc_cleanup_push, vlc_testcancel(), vlc_WaitForSingleObject(), wait_bucket::wait, wait_bucket_enter(), and wait_bucket_leave().