Cライブラリ関数 -sigaddset()

C 标准库 - <signal.h>C標準ライブラリ - <signal.h>

説明

sigaddsetこの関数はC標準ライブラリの関数であり、特定のシグナルをシグナルセットに追加するために使用されます。この関数は<signal.h>ヘッダーファイルで定義されています。

構文

int sigaddset(sigset_t *set, int signo);

パラメータ

  • sigset_t *set:指す先は、sigset_t型のシグナルセット変数。
  • int signo:シグナルセットに追加するシグナル番号。

戻り値

  • 成功した場合は0を返します。
  • 失敗した場合は-1を返し、設定してerrnoエラーの種類を示します。

例

以下は、sigaddset関数を使用して特定のシグナルをシグナルセットに追加するサンプルプログラムです。このプログラムは空のシグナルセットを初期化し、SIGINTシグナルをシグナルセットに追加し、シグナルセットに含まれるか確認しますSIGINTシグナル。

例

#include <stdio.h>
#include <signal.h>

int main() {
    sigset_t set;

    // シグナルセットを空に初期化する
    if (sigemptyset(&set) == -1) {
        perror("sigemptyset");
        return 1;
    }

    // SIGINT をシグナルセットに追加する
    if (sigaddset(&set, SIGINT) == -1) {
        perror("sigaddset");
        return 1;
    }

    // シグナルセットに SIGINT が含まれているか確認する
    if (sigismember(&set, SIGINT)) {
        printf("SIGINT is in the set\n");
    } else {
        printf("SIGINT is not in the set\n");
    }

    return 0;
}

上記のサンプルプログラムを実行した場合の出力結果の例は次のとおりです:

SIGINT is in the set

プログラムは空のシグナルセットを初期化し、SIGINTシグナルをシグナルセットに追加し、シグナルセットに含まれるか確認しますSIGINTシグナル。結果は、SIGINTシグナルがシグナルセット内にあることを示しています。

解説

  • sigset_t set;:シグナルセット変数を定義します。
  • を使用してsigemptyset関数でシグナルセットを空に初期化します。
  • を使用してsigaddset関数でSIGINTシグナルをシグナルセットに追加します。
  • を使用してsigismember関数でシグナルセットに含まれるか確認しますSIGINTシグナル。
  • 出力は、SIGINTシグナルが初期化後のシグナルセットに含まれていることを示しています。

注意事項

  • sigaddset関数は、特定のシグナルをシグナルセットに追加するために使用されます。
  • シグナル番号が無効な場合、sigaddset関数は-1を返し、設定してerrnoエラーの種類を示します。

C 标准库 - <signal.h>C標準ライブラリ - <signal.h>

その他の拡張