SGETMASK(2)

名前
sgetmask, ssetmask - シグナルマスクの操作 (廃止予定)

書式
long sgetmask(void);

long ssetmask(long newmask);

注: これらのシステムコールには、glibc のラッパー関数はない。「注意」の節を参照。

説明
これらのシステムコールは廃止予定であり、 「使用しないこと」。 代わりに sigprocmask(2) を使用すること。

sgetmask() は、呼び出し元プロセスのシグナルマスクを返す。

ssetmask() は、呼び出し元プロセスのシグナルマスクを newmask で指定された値に設定し、変更前のシグナルマスクを返す。

これら二つのシステムコールが扱うシグナルマスクは、 単純なビットマスクである (この点が sigprocmask(2) で使用される sigset_t と異なる)。 これらのマスクを作成したり検査するには sigmask(3) を使用すること。

返り値
sgetmask() は常に成功し、シグナルマスクを返す。 ssetmask() は常に成功し、直前のシグナルマスクを返す。

エラー
これらのシステムコールは常に成功する。

バージョン
Linux 3.16 以降では、これらのシステムコールのサポートは任意となり、利用できるかはカーネルが CONFIG_SGETMASK_SYSCALL オプションを有効にしてコンパイルされているかに依存する。

準拠
これらのシステムコールは Linux 固有である。

注意
glibc はこれらの古いシステムコールに対するラッパー関数を提供していない。 あまりないと思うが、これらを呼び出したい場合には syscall(2) を使うこと。

これらのシステムコールは、 31 より大きいシグナル番号 (つまり、リアルタイムシグナル) を扱えない。

これらのシステムコールは x86-64 には存在しない。

SIGSTOP や SIGKILL をブロックすることはできない。

関連項目
sigprocmask(2), signal(7)

この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。