Manpages

名 前

sem_destroy − 名 前 な し セ マ フ ォ を 破 棄 す る

書 式

#include <semaphore.h>

int sem_destroy(sem_t *sem);

−pthread と リ ン ク す る 。

説 明

sem_destroy() は sem が 指 す ア ド レ ス に あ る 名 前 な し セ マ フ ォ を 破 棄 す る 。

sem_destroy() を 使 っ て 破 棄 す る の は 、 sem_init(3) で 初 期 化 し た セ マ フ ォ だ け に す べ き で あ る 。 他 の プ ロ セ ス や ス レ ッ ド が (sem_wait(3) で ) 待 ち 状 態 に な っ て い る セ マ フ ォ を 破 棄 し た 場 合 の 挙 動 は 定 義 さ れ て い な い 。 す で に 破 棄 さ れ た セ マ フ ォ を 、 sem_init(3) を 使 っ て 再 初 期 化 さ れ る 前 に 使 用 し た 場 合 、 そ の 結 果 は 未 定 義 で あ る 。

返 り 値

成 功 す る と 、 sem_destroy() は 0 を 返 す 。 エ ラ ー の 場 合 、 −1 を 返 し 、 errno に エ ラ ー を 示 す 値 を セ ッ ト す る 。

エ ラ ー

EINVAL

sem は 有 効 な セ マ フ ォ で は な い 。

属 性

マ ル チ ス レ ッ デ ィ ン グ (pthreads(7) 参 照 )

sem_destroy() 関 数 は ス レ ッ ド セ ー フ で あ る 。

準 拠

POSIX.1−2001.

注 意

名 前 な し セ マ フ ォ は 、 そ の セ マ フ ォ が 置 か れ て い る メ モ リ ー が 解 放 さ れ る 前 に 、 sem_destroy() を 使 っ て 破 棄 し て お く べ き で あ る 。 こ れ を 行 わ な か っ た 場 合 、 実 装 に よ っ て は リ ソ ー ス の リ ー ク が 起 こ り え る 。

関 連 項 目

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

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。