kazmax - Linux で自宅サーバー

sigsetops - ライブラリコールの説明 - Linux コマンド集 一覧表

  1. 名前
  2. 書式
  3. 説明
  4. 返り値
  5. エラー
  6. 準拠
  7. glibc での注意
  8. 関連項目

名前

sigemptyset, sigfillset, sigaddset, sigdelset, sigismember - POSIX シグナル集合の操作

書式

#include <signal.h>
int sigemptyset(sigset_t * set );
int sigfillset(sigset_t * set );
int sigaddset(sigset_t * set , int signum );
int sigdelset(sigset_t * set , int signum );
int sigismember(const sigset_t * set , int signum );

説明

  sigsetops (3) 関数群は POSIX シグナル集合(signal set)を操作するため使用する。

sigemptyset ()は set で与えられたシグナル集合を空に初期化し、シグナルが一つも 含まれていない状態にする。

sigfillset ()は set で与えられたシグナル集合が全てのシグナルを含むようにする。

sigaddset ()と sigdelset ()は setsignum シグナルをそれぞれ加えたり、削除したりする。

sigismember ()は signumset に含まれているかどうかをテストする。

返り値

sigemptyset (), sigfillset (), sigaddset (), sigdelset ()は成功すれば 0 を、エラーの場合は -1 を返す。

sigismember ()は signumset に含まれていれば 1 を返し、含まれていなければ 0 を返す。 エラーの場合は -1 を返す。

エラー

EINVAL
sig が有効なシグナルではない。

準拠

POSIX.1-2001.

glibc での注意

_GNU_SOURCE 機能検査マクロが定義されていると、 <signal.h> でシグナル集合を操作する 3つの関数が追加で公開される。

int sigisemptyset(sigset_t * set );
set にシグナルが一つも含まれていなければ 1 を返し、 それ以外は 0 を返す。
int sigorset(sigset_t * dest , sigset_t * left
", sigset_t *" right ); シグナル集合 leftleft の和集合を dest に書き込む。
int sigandset(sigset_t * dest , sigset_t * left
", sigset_t *" right ); シグナル集合 leftleft の積集合を dest に書き込む。

sigorset ()と sigandset ()は成功すると 0 を、失敗すると -1 を返す。

これらの関数は非標準であり、(他にも同様の関数を提供しているシステムも いくつかはあるが) 移植性を考慮したアプリケーションでは使用を避けるべき である。

関連項目