Scroll to navigation

SGETMASK(2) Linux Programmer's Manual 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 には存在しない。

SIGSTOPSIGKILL をブロックすることはできない。

関連項目

sigprocmask(2), signal(7)

この文書について

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

2020-08-13 Linux