|
VLC
3.0.15
|

Go to the source code of this file.
Data Structures | |
| struct | vlc_thread_t |
| Thread handle. More... | |
Macros | |
| #define | LIBVLC_USE_PTHREAD 1 |
| Whether LibVLC threads are based on POSIX threads. More... | |
| #define | LIBVLC_USE_PTHREAD_CLEANUP 1 |
| Whether LibVLC thread cancellation is based on POSIX threads. More... | |
| #define | VLC_THREAD_CANCELED PTHREAD_CANCELED |
| Return value of a canceled thread. More... | |
| #define | VLC_STATIC_MUTEX PTHREAD_MUTEX_INITIALIZER |
| Static initializer for (static) mutex. More... | |
| #define | VLC_STATIC_COND PTHREAD_COND_INITIALIZER |
| Static initializer for (static) condition variable. More... | |
| #define | VLC_STATIC_RWLOCK PTHREAD_RWLOCK_INITIALIZER |
| Static initializer for (static) read/write lock. More... | |
| #define | VLC_THREAD_PRIORITY_LOW 0 |
| #define | VLC_THREAD_PRIORITY_INPUT 10 |
| #define | VLC_THREAD_PRIORITY_AUDIO 5 |
| #define | VLC_THREAD_PRIORITY_VIDEO 0 |
| #define | VLC_THREAD_PRIORITY_OUTPUT 15 |
| #define | VLC_THREAD_PRIORITY_HIGHEST 20 |
| #define | VLC_HARD_MIN_SLEEP 10000 /* 10 milliseconds = 1 tick at 100Hz */ |
| #define | VLC_SOFT_MIN_SLEEP 9000000 /* 9 seconds */ |
| #define | check_delay(d) (d) |
| #define | check_deadline(d) (d) |
| #define | msleep(d) msleep(check_delay(d)) |
| #define | mwait(d) mwait(check_deadline(d)) |
| #define | vlc_cleanup_push(routine, arg) pthread_cleanup_push (routine, arg) |
| Registers a thread cancellation handler. More... | |
| #define | vlc_cleanup_pop() pthread_cleanup_pop (0) |
| Unregisters the last cancellation handler. More... | |
| #define | mutex_cleanup_push(lock) vlc_cleanup_push (vlc_cleanup_lock, lock) |
| #define | vlc_global_lock(n) vlc_global_mutex(n, true) |
| Acquires a global mutex. More... | |
| #define | vlc_global_unlock(n) vlc_global_mutex(n, false) |
| Releases a global mutex. More... | |
Typedefs | |
| typedef pthread_mutex_t | vlc_mutex_t |
| Mutex. More... | |
| typedef pthread_cond_t | vlc_cond_t |
| Condition variable. More... | |
| typedef sem_t | vlc_sem_t |
| Semaphore. More... | |
| typedef pthread_rwlock_t | vlc_rwlock_t |
| Read/write lock. More... | |
| typedef pthread_key_t | vlc_threadvar_t |
| Thread-local key handle. More... | |
| typedef struct vlc_timer * | vlc_timer_t |
| Threaded timer handle. More... | |
Enumerations | |
| enum | { VLC_CLEANUP_PUSH, VLC_CLEANUP_POP, VLC_CANCEL_ADDR_SET, VLC_CANCEL_ADDR_CLEAR } |
| enum | { VLC_AVCODEC_MUTEX = 0, VLC_GCRYPT_MUTEX, VLC_XLIB_MUTEX, VLC_MOSAIC_MUTEX, VLC_HIGHLIGHT_MUTEX, VLC_MAX_MUTEX } |
Functions | |
| void | vlc_testcancel (void) |
| Issues an explicit deferred cancellation point. More... | |
| void | vlc_mutex_init (vlc_mutex_t *) |
| Initializes a fast mutex. More... | |
| void | vlc_mutex_init_recursive (vlc_mutex_t *) |
| Initializes a recursive mutex. More... | |
| void | vlc_mutex_destroy (vlc_mutex_t *) |
| Deinitializes a mutex. More... | |
| void | vlc_mutex_lock (vlc_mutex_t *) |
| Acquires a mutex. More... | |
| int | vlc_mutex_trylock (vlc_mutex_t *) |
| Tries to acquire a mutex. More... | |
| void | vlc_mutex_unlock (vlc_mutex_t *) |
| Releases a mutex. More... | |
| void | vlc_cond_init (vlc_cond_t *) |
| Initializes a condition variable. More... | |
| void | vlc_cond_init_daytime (vlc_cond_t *) |
| Initializes a condition variable (wall clock). More... | |
| void | vlc_cond_destroy (vlc_cond_t *) |
| Deinitializes a condition variable. More... | |
| void | vlc_cond_signal (vlc_cond_t *) |
| Wakes up one thread waiting on a condition variable. More... | |
| void | vlc_cond_broadcast (vlc_cond_t *) |
| Wakes up all threads waiting on a condition variable. More... | |
| void | vlc_cond_wait (vlc_cond_t *cond, vlc_mutex_t *mutex) |
| Waits on a condition variable. More... | |
| int | vlc_cond_timedwait (vlc_cond_t *cond, vlc_mutex_t *mutex, mtime_t deadline) |
| Waits on a condition variable up to a certain date. More... | |
| int | vlc_cond_timedwait_daytime (vlc_cond_t *, vlc_mutex_t *, time_t) |
| void | vlc_sem_init (vlc_sem_t *, unsigned count) |
| Initializes a semaphore. More... | |
| void | vlc_sem_destroy (vlc_sem_t *) |
| Deinitializes a semaphore. More... | |
| int | vlc_sem_post (vlc_sem_t *) |
| Increments the value of a semaphore. More... | |
| void | vlc_sem_wait (vlc_sem_t *) |
| Waits on a semaphore. More... | |
| void | vlc_rwlock_init (vlc_rwlock_t *) |
| Initializes a read/write lock. More... | |
| void | vlc_rwlock_destroy (vlc_rwlock_t *) |
| Destroys an initialized unused read/write lock. More... | |
| void | vlc_rwlock_rdlock (vlc_rwlock_t *) |
| Acquires a read/write lock for reading. More... | |
| void | vlc_rwlock_wrlock (vlc_rwlock_t *) |
| Acquires a read/write lock for writing. More... | |
| void | vlc_rwlock_unlock (vlc_rwlock_t *) |
| Releases a read/write lock. More... | |
| int | vlc_threadvar_create (vlc_threadvar_t *key, void(*destr)(void *)) |
| Allocates a thread-specific variable. More... | |
| void | vlc_threadvar_delete (vlc_threadvar_t *) |
| 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) |
| Gets the value of a thread-local variable for the calling thread. More... | |
| void | vlc_addr_wait (void *addr, unsigned val) |
| Waits on an address. More... | |
| bool | vlc_addr_timedwait (void *addr, unsigned val, mtime_t delay) |
| Waits on an address with a time-out. More... | |
| void | vlc_addr_signal (void *addr) |
| Wakes up one thread on an address. More... | |
| void | vlc_addr_broadcast (void *addr) |
| Wakes up all thread on an address. More... | |
| int | vlc_clone (vlc_thread_t *th, void *(*entry)(void *), void *data, int priority) |
| Creates and starts a new thread. More... | |
| void | vlc_cancel (vlc_thread_t) |
| Marks a thread as cancelled. More... | |
| void | vlc_join (vlc_thread_t th, void **result) |
| Waits for a thread to complete (if needed), then destroys it. More... | |
| int | vlc_savecancel (void) |
| Disables thread cancellation. More... | |
| void | vlc_restorecancel (int state) |
| Restores the cancellation state. More... | |
| void | vlc_control_cancel (int cmd,...) |
| Internal handler for thread cancellation. More... | |
| vlc_thread_t | vlc_thread_self (void) |
| Thread handle. More... | |
| unsigned long | vlc_thread_id (void) |
| Thread identifier. More... | |
| mtime_t | mdate (void) |
| Precision monotonic clock. More... | |
| void | mwait (mtime_t deadline) |
| Waits until a deadline. More... | |
| void | msleep (mtime_t delay) |
| Waits for an interval of time. More... | |
| 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, mtime_t value, mtime_t interval) |
| Arms or disarms an initialized timer. More... | |
| unsigned | vlc_timer_getoverrun (vlc_timer_t) |
| Fetches and resets the overrun counter for a timer. More... | |
| unsigned | vlc_GetCPUCount (void) |
| Count CPUs. More... | |
| static void | vlc_cleanup_lock (void *lock) |
| static void | vlc_cancel_addr_set (void *addr) |
| static void | vlc_cancel_addr_clear (void *addr) |
| void | vlc_global_mutex (unsigned, bool) |
| Internal handler for global mutexes. More... | |
Thread primitive declarations
1.8.16