PipeWire 1.2.7
Loading...
Searching...
No Matches
thread-loop.h File Reference

pipewire/thread-loop.h More...

Go to the source code of this file.

Data Structures

struct  pw_thread_loop_events
 Thread loop events. More...
 

Macros

#define PW_VERSION_THREAD_LOOP_EVENTS   0
 

Functions

struct pw_thread_looppw_thread_loop_new (const char *name, const struct spa_dict *props)
 Make a new thread loop with the given name and optional properties.
 
struct pw_thread_looppw_thread_loop_new_full (struct pw_loop *loop, const char *name, const struct spa_dict *props)
 Make a new thread loop with the given loop, name and optional properties.
 
void pw_thread_loop_destroy (struct pw_thread_loop *loop)
 Destroy a thread loop.
 
void pw_thread_loop_add_listener (struct pw_thread_loop *loop, struct spa_hook *listener, const struct pw_thread_loop_events *events, void *data)
 Add an event listener.
 
struct pw_looppw_thread_loop_get_loop (struct pw_thread_loop *loop)
 Get the loop implementation of the thread loop.
 
int pw_thread_loop_start (struct pw_thread_loop *loop)
 Start the thread loop.
 
void pw_thread_loop_stop (struct pw_thread_loop *loop)
 Stop the thread loop.
 
void pw_thread_loop_lock (struct pw_thread_loop *loop)
 Lock the loop.
 
void pw_thread_loop_unlock (struct pw_thread_loop *loop)
 Unlock the loop.
 
void pw_thread_loop_wait (struct pw_thread_loop *loop)
 Release the lock and wait until some thread calls pw_thread_loop_signal.
 
int pw_thread_loop_timed_wait (struct pw_thread_loop *loop, int wait_max_sec)
 Release the lock and wait a maximum of 'wait_max_sec' seconds until some thread calls pw_thread_loop_signal or time out.
 
int pw_thread_loop_get_time (struct pw_thread_loop *loop, struct timespec *abstime, int64_t timeout)
 Get a struct timespec suitable for pw_thread_loop_timed_wait_full.
 
int pw_thread_loop_timed_wait_full (struct pw_thread_loop *loop, const struct timespec *abstime)
 Release the lock and wait up to abstime until some thread calls pw_thread_loop_signal.
 
void pw_thread_loop_signal (struct pw_thread_loop *loop, bool wait_for_accept)
 Signal all threads waiting with pw_thread_loop_wait.
 
void pw_thread_loop_accept (struct pw_thread_loop *loop)
 Signal all threads executing pw_thread_loop_signal with wait_for_accept.
 
bool pw_thread_loop_in_thread (struct pw_thread_loop *loop)
 Check if inside the thread.
 

Detailed Description