sigemptyset() - 全シグナルを除外するためのシグナル・マスクの初期化

標準

標準/拡張機能 C/C++ 依存項目

POSIX.1
XPG4
XPG4.2
Single UNIX Specification、バージョン 3

両方  

形式

#define _POSIX_SOURCE
#include <signal.h>

int sigemptyset(sigset_t *set);

機能説明

シグナル・セット set を、空集合に初期設定します。認識されたシグナルはすべて除外されます。

sigemptyset() は、シグナル・セットを操作する関数のファミリーの 一部です。 シグナル・セット とは、シグナル・グループを 1 つのプロセスにより経過の記録を取るためのデータ・オブジェクトです。例えば、プロセスにより、ブロック化しているシグナルを 記録する 1 つのシグナル・セット、および保留中のシグナル を記録する別のシグナル・セットを作成できます。シグナル・セットは、その他の関数 (sigprocmask() など) で使用される シグナルのグループを操作するか、またはその他の 関数 (sigpending() など) で戻されるシグナル・セットを検査する ために使用されます。

戻り値

正常に実行された場合、sigemptyset() は 0 を戻します。

文書化される errno 値はありません。

CELEBS17
⁄* CELEBS17

   This example initializes a set of signals to an empty set.

 *⁄
#define _POSIX_SOURCE
#include <stdio.h>
#include <signal.h>
#include <unistd.h>

main() {
  struct sigaction sact;

  sigemptyset(&sact.sa_mask);
  sact.sa_flags = 0;
  sact.sa_handler = SIG_IGN;

  sigaction(SIGUSR2, &sact, NULL);

  puts("before kill()");
  kill(getpid(), SIGUSR2);
  puts("after kill()");
}
出力:
before kill()
after kill()

関連情報