Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all bug

名前

       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/ に書かれている。

Linux                                              2020-08-13                                     SEM_DESTROY(3)