备注

在释放未命名的信号量之前,应使用sem_destroy()销毁该信号量。否则,可能会导致某些实现上的资源泄漏。

名称

sem_destroy-销毁一个未命名的信号量

说明

sem_destroy()销毁sem指向的地址上的未命名信号量。

仅应使用sem_destroy()销毁已由sem_init(3)初始化的信号量。

销毁当前已阻塞其他进程或线程的信号量(在sem_wait(3)中)会产生未定义的行为。

使用已销毁的信号量会产生不确定的结果,直到使用sem_init(3)重新初始化该信号量为止。

语法

#include <semaphore.h>

int sem_destroy(sem_t *sem);

与-pthread链接。

另外参见

sem_init(3),sem_post(3),sem_wait(3),sem_overview(7)

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/

错误说明

EINVAL
sem不是有效的信号量。

返回值

sem_destroy()成功返回0;如果出错,则返回-1,并且将errno设置为指示错误。

SEM_DESTROY - Linux手册页

Linux程序员手册 第3部分
更新日期: 2020-08-13

属性

有关本节中使用的术语的说明,请参见attribute(7)。

InterfaceAttributeValue
sem_destroy()Thread safetyMT-Safe

遵循规范

POSIX.1-2001,POSIX.1-2008。

日期:2019-08-20 18:01:14 来源:oir作者:oir