XFusion API v1.3.0
|
信号量可以管理和保护对共享资源的访问。 更多...
结构体 | |
struct | _xf_osal_semaphore_attr_t |
信号量的属性结构。 更多... | |
类型定义 | |
typedef void * | xf_osal_semaphore_t |
信号量句柄。 | |
typedef struct _xf_osal_semaphore_attr_t | xf_osal_semaphore_attr_t |
信号量的属性结构。 | |
函数 | |
xf_osal_semaphore_t | xf_osal_semaphore_create (uint32_t max_count, uint32_t initial_count, const xf_osal_semaphore_attr_t *attr) |
创建并初始化信号量对象。 | |
xf_err_t | xf_osal_semaphore_acquire (xf_osal_semaphore_t semaphore, uint32_t timeout) |
获取信号量令牌,如果没有可用令牌则超时。 | |
xf_err_t | xf_osal_semaphore_release (xf_osal_semaphore_t semaphore) |
释放信号量令牌直至初始最大计数。 | |
uint32_t | xf_osal_semaphore_get_count (xf_osal_semaphore_t semaphore) |
获取当前信号量令牌计数。 | |
xf_err_t | xf_osal_semaphore_delete (xf_osal_semaphore_t semaphore) |
删除信号量对象。 | |
信号量可以管理和保护对共享资源的访问。
typedef void* xf_osal_semaphore_t |
信号量句柄。
在文件 xf_osal_semaphore.h 第 41 行定义.
typedef struct _xf_osal_semaphore_attr_t xf_osal_semaphore_attr_t |
信号量的属性结构。
xf_osal_semaphore_t xf_osal_semaphore_create | ( | uint32_t | max_count, |
uint32_t | initial_count, | ||
const xf_osal_semaphore_attr_t * | attr | ||
) |
创建并初始化信号量对象。
max_count | 可用令牌的最大数量。 |
initial_count | 可用令牌的初始数量。 |
attr | 信号量属性。填入 NULL 时使用默认属性。 |
xf_err_t xf_osal_semaphore_acquire | ( | xf_osal_semaphore_t | semaphore, |
uint32_t | timeout | ||
) |
获取信号量令牌,如果没有可用令牌则超时。
semaphore | 信号量句柄。从 xf_osal_semaphore_create() 获取。 |
timeout | 超时时间,单位 tick.
|
xf_err_t xf_osal_semaphore_release | ( | xf_osal_semaphore_t | semaphore | ) |
释放信号量令牌直至初始最大计数。
semaphore | 信号量句柄。从 xf_osal_semaphore_create() 获取。 |
uint32_t xf_osal_semaphore_get_count | ( | xf_osal_semaphore_t | semaphore | ) |
获取当前信号量令牌计数。
semaphore | 信号量句柄。从 xf_osal_semaphore_create() 获取。 |
xf_err_t xf_osal_semaphore_delete | ( | xf_osal_semaphore_t | semaphore | ) |
删除信号量对象。
semaphore | 信号量句柄。从 xf_osal_semaphore_create() 获取。 |