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 には存在しない。
SIGSTOP や SIGKILL をブロックすることはできない。
この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部である。 プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。
2014-12-31 | Linux |