使用 sem_destroy(3RT) 可以销毁与 sem 所指示的未命名信号相关联的任何状态。
int sem_destroy(sem_t *sem);
#include <semaphore.h> sem_t sem; int ret; ret = sem_destroy(&sem); /* the semaphore is destroyed */
不会释放用来存储信号的空间。对于 Solaris 线程,请参见sema_destroy(3C) 语法。
sem_destroy() 在成功完成之后会返回零。其他任何返回值都表示出现了错误。如果出现以下情况,该函数将失败并返回对应的值。
EINVAL
描述:sem 所指示的地址非法。