Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all
名前
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 は有効なセマフォではない。
属性
この節で使用されている用語の説明については、 attributes(7) を参照。 ┌─────────────────┬───────────────┬─────────┐ │インターフェース │ 属性 │ 値 │ ├─────────────────┼───────────────┼─────────┤ │sem_destroy() │ Thread safety │ MT-Safe │ └─────────────────┴───────────────┴─────────┘
準拠
POSIX.1-2001, POSIX.1-2008.
注意
名前なしセマフォは、そのセマフォが置かれているメモリーが解放される前に、 sem_destroy() を 使って破棄しておくべきである。これを行わなかった場合、実装によっては リソースのリークが起 こりえる。
関連項目
sem_init(3), sem_post(3), sem_wait(3), sem_overview(7)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの 説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。