PipeWire 1.6.8

Loading...
Searching...
No Matches
Thread
SPA » Support

Threading utility interfaces. More...

## Files
file | thread.h
| spa/support/thread.h

## Data Structures
struct | spa_thread_utils
struct | spa_thread_utils_methods
| thread utils More...
struct | spa_thread

## Macros
#define | SPA_TYPE_INFO_Thread SPA_TYPE_INFO_POINTER_BASE "Thread"
| a thread object.
#define | SPA_TYPE_INTERFACE_ThreadUtils SPA_TYPE_INFO_INTERFACE_BASE "ThreadUtils"
#define | SPA_VERSION_THREAD_UTILS 0
#define | SPA_VERSION_THREAD_UTILS_METHODS 0
#define | SPA_KEY_THREAD_NAME "thread.name" /* the thread name */
#define | SPA_KEY_THREAD_STACK_SIZE "thread.stack-size" /* the stack size of the thread */
#define | SPA_KEY_THREAD_AFFINITY "thread.affinity" /* array of CPUs for this thread */
#define | SPA_KEY_THREAD_CREATOR "thread.creator" /* platform specific thread creator function */
#define | SPA_KEY_THREAD_RESET_ON_FORK

## Functions
SPA_API_THREAD struct spa_thread * | spa_thread_utils_create (struct spa_thread_utils *o, const struct spa_dict *props, void *(*start_routine)(void *), void *arg)
| create a new thread that runs start with arg
SPA_API_THREAD int | spa_thread_utils_join (struct spa_thread_utils *o, struct spa_thread *thread, void **retval)
| stop and join a thread
SPA_API_THREAD int | spa_thread_utils_get_rt_range (struct spa_thread_utils *o, const struct spa_dict *props, int *min, int *max)
| get realtime priority range for threads created with props
SPA_API_THREAD int | spa_thread_utils_acquire_rt (struct spa_thread_utils *o, struct spa_thread *thread, int priority)
| acquire realtime priority, a priority of -1 refers to the priority configured in the realtime module
SPA_API_THREAD int | spa_thread_utils_drop_rt (struct spa_thread_utils *o, struct spa_thread *thread)
| drop realtime priority

## Detailed Description

Threading utility interfaces.

## Macro Definition Documentation

## ◆ SPA_TYPE_INFO_Thread

#define SPA_TYPE_INFO_Thread SPA_TYPE_INFO_POINTER_BASE "Thread"

a thread object.

This can be cast to a platform native thread, like pthread on posix systems

## ◆ SPA_TYPE_INTERFACE_ThreadUtils

#define SPA_TYPE_INTERFACE_ThreadUtils SPA_TYPE_INFO_INTERFACE_BASE "ThreadUtils"

## ◆ SPA_VERSION_THREAD_UTILS

#define SPA_VERSION_THREAD_UTILS 0

## ◆ SPA_VERSION_THREAD_UTILS_METHODS

#define SPA_VERSION_THREAD_UTILS_METHODS 0

## ◆ SPA_KEY_THREAD_NAME

#define SPA_KEY_THREAD_NAME "thread.name" /* the thread name */

## ◆ SPA_KEY_THREAD_STACK_SIZE

#define SPA_KEY_THREAD_STACK_SIZE "thread.stack-size" /* the stack size of the thread */

## ◆ SPA_KEY_THREAD_AFFINITY

#define SPA_KEY_THREAD_AFFINITY "thread.affinity" /* array of CPUs for this thread */

## ◆ SPA_KEY_THREAD_CREATOR

#define SPA_KEY_THREAD_CREATOR "thread.creator" /* platform specific thread creator function */

## ◆ SPA_KEY_THREAD_RESET_ON_FORK

#define SPA_KEY_THREAD_RESET_ON_FORK

## Function Documentation

## ◆ spa_thread_utils_create()

SPA_API_THREAD struct spa_thread * spa_thread_utils_create | ( | struct spa_thread_utils * | o,
|  | const struct spa_dict * | props,
|  | void *(* | start_routine )(void *),
|  | void * | arg )

create a new thread that runs start with arg

See also
  spa_thread_utils_methods.create

## ◆ spa_thread_utils_join()

SPA_API_THREAD int spa_thread_utils_join | ( | struct spa_thread_utils * | o,
|  | struct spa_thread * | thread,
|  | void ** | retval )

stop and join a thread

See also
  spa_thread_utils_methods.join

## ◆ spa_thread_utils_get_rt_range()

SPA_API_THREAD int spa_thread_utils_get_rt_range | ( | struct spa_thread_utils * | o,
|  | const struct spa_dict * | props,
|  | int * | min,
|  | int * | max )

get realtime priority range for threads created with props

See also
  spa_thread_utils_methods.get_rt_range

## ◆ spa_thread_utils_acquire_rt()

SPA_API_THREAD int spa_thread_utils_acquire_rt | ( | struct spa_thread_utils * | o,
|  | struct spa_thread * | thread,
|  | int | priority )

acquire realtime priority, a priority of -1 refers to the priority configured in the realtime module

See also
  spa_thread_utils_methods.acquire_rt

## ◆ spa_thread_utils_drop_rt()

SPA_API_THREAD int spa_thread_utils_drop_rt | ( | struct spa_thread_utils * | o,
|  | struct spa_thread * | thread )

drop realtime priority

See also
  spa_thread_utils_methods.drop_rt