upipe-pthread/upipe_pthread_transfer.h header reference

Upipe module allowing to transfer other pipes to a new POSIX thread More

Header inclusion [link] 

Members [link] 

Functions [link] 

  • struct upipe_mgr * upipe_pthread_xfer_mgr_alloc(uint8_t queue_length, uint16_t msg_pool_depth, struct uprobe *uprobe_pthread_upump_mgr, upump_mgr_alloc upump_mgr_alloc, uint16_t upump_pool_depth, uint16_t upump_blocker_pool_depth, struct umutex *mutex, pthread_t *pthread_id_p, const pthread_attr_t *attr)
  • struct upipe_mgr * upipe_pthread_xfer_mgr_alloc_named(uint8_t queue_length, uint16_t msg_pool_depth, struct uprobe *uprobe_pthread_upump_mgr, upump_mgr_alloc upump_mgr_alloc, uint16_t upump_pool_depth, uint16_t upump_blocker_pool_depth, struct umutex *mutex, pthread_t *pthread_id_p, const pthread_attr_t *attr, const char *name)
  • struct upipe_mgr * upipe_pthread_xfer_mgr_alloc_named_va(uint8_t queue_length, uint16_t msg_pool_depth, struct uprobe *uprobe_pthread_upump_mgr, upump_mgr_alloc upump_mgr_alloc, uint16_t upump_pool_depth, uint16_t upump_blocker_pool_depth, struct umutex *mutex, pthread_t *pthread_id_p, const pthread_attr_t *attr, const char *format, ...)
  • struct upipe_mgr * upipe_pthread_xfer_mgr_alloc_prio(uint8_t queue_length, uint16_t msg_pool_depth, struct uprobe *uprobe_pthread_upump_mgr, upump_mgr_alloc upump_mgr_alloc, uint16_t upump_pool_depth, uint16_t upump_blocker_pool_depth, struct umutex *mutex, pthread_t *pthread_id_p, const pthread_attr_t *attr, int priority)
  • struct upipe_mgr * upipe_pthread_xfer_mgr_alloc_prio_named(uint8_t queue_length, uint16_t msg_pool_depth, struct uprobe *uprobe_pthread_upump_mgr, upump_mgr_alloc upump_mgr_alloc, uint16_t upump_pool_depth, uint16_t upump_blocker_pool_depth, struct umutex *mutex, pthread_t *pthread_id_p, const pthread_attr_t *attr, int priority, const char *name)
  • struct upipe_mgr * upipe_pthread_xfer_mgr_alloc_prio_named_va(uint8_t queue_length, uint16_t msg_pool_depth, struct uprobe *uprobe_pthread_upump_mgr, upump_mgr_alloc upump_mgr_alloc, uint16_t upump_pool_depth, uint16_t upump_blocker_pool_depth, struct umutex *mutex, pthread_t *pthread_id_p, const pthread_attr_t *attr, int priority, const char *format, ...)

Description [link] 

This is particularly helpful for multithreaded applications.

Members detail [link] 

#define _UPIPE_PTHREAD_UPIPE_PTHREAD_TRANSFER_H_ [link] 

This macro is declared in upipe-pthread/upipe_pthread_transfer.h source file, line 32.

[link] 

This struct is declared in upipe-pthread/upipe_pthread_transfer.h source file, line 46.

FieldDescription
struct urefcount * refcount;pointer to refcount management structure
int (*umutex_lock)(struct umutex *) ;lock mutex
int (*umutex_unlock)(struct umutex *) ;unlock mutex

struct upipe_mgr * upipe_pthread_xfer_mgr_alloc(uint8_t queue_length, uint16_t msg_pool_depth, struct uprobe *uprobe_pthread_upump_mgr, upump_mgr_alloc upump_mgr_alloc, uint16_t upump_pool_depth, uint16_t upump_blocker_pool_depth, struct umutex *mutex, pthread_t *pthread_id_p, const pthread_attr_t *attr) [link] 

This function is declared in upipe-pthread/upipe_pthread_transfer.h source file, line 68.

This function returns a management structure for transfer pipes, using a new pthread. You would need one management structure per target thread.

Parameter list:

  • queue_length: maximum length of the internal queue of commands
  • msg_pool_depth: maximum number of messages in the pool
  • uprobe_pthread_upump_mgr: pointer to optional probe, that will be set with the created upump_mgr
  • upump_mgr_alloc: alloc function provided by the upump manager
  • upump_pool_depth: maximum number of upump structures in the pool
  • upump_blocker_pool_depth: maximum number of upump_blocker structures in the pool
  • mutex: mutual exclusion pimitives to access the event loop, or NULL
  • pthread_id_p: reference to created thread ID (may be NULL)
  • attr: pthread attributes

The return value is pointer to xfer manager

struct upipe_mgr * upipe_pthread_xfer_mgr_alloc_named(uint8_t queue_length, uint16_t msg_pool_depth, struct uprobe *uprobe_pthread_upump_mgr, upump_mgr_alloc upump_mgr_alloc, uint16_t upump_pool_depth, uint16_t upump_blocker_pool_depth, struct umutex *mutex, pthread_t *pthread_id_p, const pthread_attr_t *attr, const char *name) [link] 

This function is declared in upipe-pthread/upipe_pthread_transfer.h source file, line 93.

This function returns a management structure for transfer pipes, using a new pthread with a custom name. You would need one management structure per target thread.

Parameter list:

  • queue_length: maximum length of the internal queue of commands
  • msg_pool_depth: maximum number of messages in the pool
  • uprobe_pthread_upump_mgr: pointer to optional probe, that will be set with the created upump_mgr
  • upump_mgr_alloc: alloc function provided by the upump manager
  • upump_pool_depth: maximum number of upump structures in the pool
  • upump_blocker_pool_depth: maximum number of upump_blocker structures in the pool
  • mutex: mutual exclusion pimitives to access the event loop, or NULL
  • pthread_id_p: reference to created thread ID (may be NULL)
  • attr: pthread attributes
  • name: custom name

The return value is pointer to xfer manager

struct upipe_mgr * upipe_pthread_xfer_mgr_alloc_named_va(uint8_t queue_length, uint16_t msg_pool_depth, struct uprobe *uprobe_pthread_upump_mgr, upump_mgr_alloc upump_mgr_alloc, uint16_t upump_pool_depth, uint16_t upump_blocker_pool_depth, struct umutex *mutex, pthread_t *pthread_id_p, const pthread_attr_t *attr, const char *format, ...) [link] 

This function is declared in upipe-pthread/upipe_pthread_transfer.h source file, line 121.

This function returns a management structure for transfer pipes, using a new pthread with a printf-style custom name. You would need one management structure per target thread.

Parameter list:

  • queue_length: maximum length of the internal queue of commands
  • msg_pool_depth: maximum number of messages in the pool
  • uprobe_pthread_upump_mgr: pointer to optional probe, that will be set with the created upump_mgr
  • upump_mgr_alloc: alloc function provided by the upump manager
  • upump_pool_depth: maximum number of upump structures in the pool
  • upump_blocker_pool_depth: maximum number of upump_blocker structures in the pool
  • mutex: mutual exclusion pimitives to access the event loop, or NULL
  • pthread_id_p: reference to created thread ID (may be NULL)
  • attr: pthread attributes
  • format: format of the custom name, followed by optional arguments

The return value is pointer to xfer manager

struct upipe_mgr * upipe_pthread_xfer_mgr_alloc_prio(uint8_t queue_length, uint16_t msg_pool_depth, struct uprobe *uprobe_pthread_upump_mgr, upump_mgr_alloc upump_mgr_alloc, uint16_t upump_pool_depth, uint16_t upump_blocker_pool_depth, struct umutex *mutex, pthread_t *pthread_id_p, const pthread_attr_t *attr, int priority) [link] 

This function is declared in upipe-pthread/upipe_pthread_transfer.h source file, line 155.

This function returns a management structure for transfer pipes, using a new pthread. You would need one management structure per target thread.

Parameter list:

  • queue_length: maximum length of the internal queue of commands
  • msg_pool_depth: maximum number of messages in the pool
  • uprobe_pthread_upump_mgr: pointer to optional probe, that will be set with the created upump_mgr
  • upump_mgr_alloc: alloc function provided by the upump manager
  • upump_pool_depth: maximum number of upump structures in the pool
  • upump_blocker_pool_depth: maximum number of upump_blocker structures in the pool
  • mutex: mutual exclusion pimitives to access the event loop, or NULL
  • pthread_id_p: reference to created thread ID (may be NULL)
  • attr: pthread attributes
  • priority: priority of the thread or INT_MAX to leave it unchanged

The return value is pointer to xfer manager

struct upipe_mgr * upipe_pthread_xfer_mgr_alloc_prio_named(uint8_t queue_length, uint16_t msg_pool_depth, struct uprobe *uprobe_pthread_upump_mgr, upump_mgr_alloc upump_mgr_alloc, uint16_t upump_pool_depth, uint16_t upump_blocker_pool_depth, struct umutex *mutex, pthread_t *pthread_id_p, const pthread_attr_t *attr, int priority, const char *name) [link] 

This function is declared in upipe-pthread/upipe_pthread_transfer.h source file, line 181.

This function returns a management structure for transfer pipes, using a new pthread. You would need one management structure per target thread.

Parameter list:

  • queue_length: maximum length of the internal queue of commands
  • msg_pool_depth: maximum number of messages in the pool
  • uprobe_pthread_upump_mgr: pointer to optional probe, that will be set with the created upump_mgr
  • upump_mgr_alloc: alloc function provided by the upump manager
  • upump_pool_depth: maximum number of upump structures in the pool
  • upump_blocker_pool_depth: maximum number of upump_blocker structures in the pool
  • mutex: mutual exclusion pimitives to access the event loop, or NULL
  • pthread_id_p: reference to created thread ID (may be NULL)
  • attr: pthread attributes
  • priority: priority of the thread or INT_MAX to leave it unchanged
  • name: custom name or NULL

The return value is pointer to xfer manager

struct upipe_mgr * upipe_pthread_xfer_mgr_alloc_prio_named_va(uint8_t queue_length, uint16_t msg_pool_depth, struct uprobe *uprobe_pthread_upump_mgr, upump_mgr_alloc upump_mgr_alloc, uint16_t upump_pool_depth, uint16_t upump_blocker_pool_depth, struct umutex *mutex, pthread_t *pthread_id_p, const pthread_attr_t *attr, int priority, const char *format, ...) [link] 

This function is declared in upipe-pthread/upipe_pthread_transfer.h source file, line 210.

This function returns a management structure for transfer pipes, using a new pthread with a printf-style custom name. You would need one management structure per target thread.

Parameter list:

  • queue_length: maximum length of the internal queue of commands
  • msg_pool_depth: maximum number of messages in the pool
  • uprobe_pthread_upump_mgr: pointer to optional probe, that will be set with the created upump_mgr
  • upump_mgr_alloc: alloc function provided by the upump manager
  • upump_pool_depth: maximum number of upump structures in the pool
  • upump_blocker_pool_depth: maximum number of upump_blocker structures in the pool
  • mutex: mutual exclusion pimitives to access the event loop, or NULL
  • pthread_id_p: reference to created thread ID (may be NULL)
  • attr: pthread attributes
  • priority: priority of the thread or INT_MAX to leave it unchanged
  • format: format of the custom name, followed by optional arguments

The return value is pointer to xfer manager

Valid XHTML 1.0 StrictGenerated by cmassiot on Sun Dec 14 18:31:17 2025 using MkDoc