| VLC
    3.0.18
    | 

| Functions | |
| void | vlc_interrupt_init (vlc_interrupt_t *ctx) | 
| Initializes an interruption context.  More... | |
| vlc_interrupt_t * | vlc_interrupt_create (void) | 
| Creates an interruption context.  More... | |
| void | vlc_interrupt_deinit (vlc_interrupt_t *ctx) | 
| Deinitializes an interruption context.  More... | |
| void | vlc_interrupt_destroy (vlc_interrupt_t *ctx) | 
| Destroys an interrupt context.  More... | |
| void | vlc_interrupt_raise (vlc_interrupt_t *ctx) | 
| Raises an interruption through a specified context.  More... | |
| vlc_interrupt_t * | vlc_interrupt_set (vlc_interrupt_t *newctx) | 
| Sets the interruption context for the calling thread.  More... | |
| static void | vlc_interrupt_prepare (vlc_interrupt_t *ctx, void(*cb)(void *), void *data) | 
| Prepares to enter interruptible wait.  More... | |
| static int | vlc_interrupt_finish (vlc_interrupt_t *ctx) | 
| Cleans up after an interruptible wait: waits for any pending invocations of the callback previously registed with vlc_interrupt_prepare(), and rechecks for any pending interruption.  More... | |
| void | vlc_interrupt_register (void(*cb)(void *), void *opaque) | 
| Registers a custom interrupt handler.  More... | |
| int | vlc_interrupt_unregister (void) | 
| static void | vlc_interrupt_cleanup (void *opaque) | 
| void | vlc_interrupt_kill (vlc_interrupt_t *ctx) | 
| Marks the interruption context as "killed".  More... | |
| bool | vlc_killed (void) | 
| Checks if the interruption context was "killed".  More... | |
| static void | vlc_interrupt_sem (void *opaque) | 
| int | vlc_sem_wait_i11e (vlc_sem_t *sem) | 
| Interruptible variant of vlc_sem_wait().  More... | |
| static void | vlc_mwait_i11e_wake (void *opaque) | 
| static void | vlc_mwait_i11e_cleanup (void *opaque) | 
| int | vlc_mwait_i11e (mtime_t deadline) | 
| Interruptible variant of mwait().  More... | |
| static void | vlc_interrupt_forward_wake (void *opaque) | 
| void | vlc_interrupt_forward_start (vlc_interrupt_t *to, void *data[2]) | 
| Enables forwarding of interruption.  More... | |
| int | vlc_interrupt_forward_stop (void *const data[2]) | 
| Undoes vlc_interrupt_forward_start().  More... | |
| static void | vlc_poll_i11e_wake (void *opaque) | 
| static void | vlc_poll_i11e_cleanup (void *opaque) | 
| static int | vlc_poll_i11e_inner (struct pollfd *restrict fds, unsigned nfds, int timeout, vlc_interrupt_t *ctx, struct pollfd *restrict ufd) | 
| int | vlc_poll_i11e (struct pollfd *fds, unsigned nfds, int timeout) | 
| Interruptible variant of poll().  More... | |
| ssize_t | vlc_readv_i11e (int fd, struct iovec *iov, int count) | 
| Wrapper for readv() that returns the EINTR error upon VLC I/O interruption.  More... | |
| ssize_t | vlc_writev_i11e (int fd, const struct iovec *iov, int count) | 
| Wrapper for writev() that returns the EINTR error upon VLC I/O interruption.  More... | |
| ssize_t | vlc_read_i11e (int fd, void *buf, size_t count) | 
| Wrapper for read() that returns the EINTR error upon VLC I/O interruption.  More... | |
| ssize_t | vlc_write_i11e (int fd, const void *buf, size_t count) | 
| Wrapper for write() that returns the EINTR error upon VLC I/O interruption.  More... | |
| ssize_t | vlc_recvmsg_i11e (int fd, struct msghdr *msg, int flags) | 
| ssize_t | vlc_recvfrom_i11e (int fd, void *buf, size_t len, int flags, struct sockaddr *addr, socklen_t *addrlen) | 
| ssize_t | vlc_sendmsg_i11e (int fd, const struct msghdr *msg, int flags) | 
| ssize_t | vlc_sendto_i11e (int fd, const void *buf, size_t len, int flags, const struct sockaddr *addr, socklen_t addrlen) | 
| int | vlc_accept_i11e (int fd, struct sockaddr *addr, socklen_t *addrlen, bool blocking) | 
| Variables | |
| static thread_local vlc_interrupt_t * | vlc_interrupt_var | 
| 
 | static | 
References vlc_interrupt_finish().
Referenced by vlc_sem_wait_i11e().
| void vlc_interrupt_deinit | ( | vlc_interrupt_t * | ctx | ) | 
Deinitializes an interruption context.
The context shall no longer be used by any thread.
References vlc_interrupt::callback, vlc_interrupt::lock, and vlc_mutex_destroy().
Referenced by CloseWorker(), input_Close(), StartWorker(), and vlc_interrupt_destroy().
| 
 | static | 
Cleans up after an interruptible wait: waits for any pending invocations of the callback previously registed with vlc_interrupt_prepare(), and rechecks for any pending interruption.
References vlc_interrupt::callback, vlc_interrupt::interrupted, vlc_interrupt::lock, vlc_interrupt_var, vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by vlc_interrupt_cleanup(), vlc_interrupt_forward_stop(), vlc_interrupt_unregister(), vlc_mwait_i11e(), vlc_mwait_i11e_cleanup(), vlc_poll_i11e_cleanup(), vlc_poll_i11e_inner(), and vlc_sem_wait_i11e().
| 
 | static | 
References vlc_interrupt::killed, vlc_interrupt_kill(), and vlc_interrupt_raise().
Referenced by vlc_interrupt_forward_start(), and vlc_interrupt_forward_stop().
| 
 | static | 
Prepares to enter interruptible wait.
| cb | callback to interrupt the wait (i.e. wake up the thread) | 
| data | opaque data pointer for the callback | 
References vlc_interrupt::callback, vlc_interrupt::data, vlc_interrupt::interrupted, vlc_interrupt::lock, unlikely, vlc_interrupt_var, vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by vlc_interrupt_forward_start(), vlc_interrupt_register(), vlc_mwait_i11e(), vlc_poll_i11e_inner(), and vlc_sem_wait_i11e().
| 
 | static | 
References vlc_sem_post().
Referenced by vlc_sem_wait_i11e().
| 
 | static | 
References vlc_interrupt::data, vlc_interrupt::lock, vlc_cond_destroy(), vlc_interrupt_finish(), and vlc_mutex_unlock().
Referenced by vlc_mwait_i11e().
| 
 | static | 
References vlc_cond_signal().
Referenced by vlc_mwait_i11e().
| 
 | static | 
References vlc_interrupt::data, vlc_close(), and vlc_interrupt_finish().
Referenced by vlc_poll_i11e_inner().
| 
 | static | 
References poll(), POLLIN, vlc_cleanup_pop, vlc_cleanup_push, vlc_close(), vlc_interrupt_finish(), vlc_interrupt_prepare(), vlc_pipe(), vlc_poll_i11e_cleanup(), vlc_poll_i11e_wake(), vlc_restorecancel(), vlc_savecancel(), and vlc_testcancel().
Referenced by vlc_poll_i11e().
| 
 | static | 
References vlc_restorecancel(), and vlc_savecancel().
Referenced by vlc_poll_i11e_inner().
 1.8.16
 1.8.16