#include <signal.h> typedef void (*sighandler_t)(int); int gsignal(int signum); sighandler_t ssignal(int signum, sighandler_t action);
glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):
gsignal(), ssignal():
Since glibc 2.19:
_DEFAULT_SOURCE
Glibc 2.19 and earlier:
_SVID_SOURCE
一方、System V 風のシステムでは、これらの関数で、 従来の signal(2) や kill(2) の関数群とは完全に独立な、 ソフトウェアシグナリングを実現している。 ssignal() 関数は、番号 signum のソフトウェアシグナルが gsignal() 関数を使って発生された時にとるべきアクションを定義する。 gsignal() の返り値は、一つ前に指定されていたアクション、もしくは SIG_DFL である。 gsignal() は以下のような動作を行う: signum に対してアクションが指定されていないか、アクション SIG_DFL が指定されていた場合、何もせずに 0 を返す。 signum に対して アクション SIG_IGN が指定されていた場合、何もせずに 1 を返す。 それ以外の場合、アクションを SIG_DFL にリセットし、引数に signum を指定してアクション関数を呼び出して、アクション関数の返り値を返す。 signum がとり得る値の範囲は実装により異なる (多くの場合 1〜15 か 1〜17 である)。
インターフェース | 属性 | 値 |
gsignal() | Thread safety | MT-Safe |
ssignal() | Thread safety | MT-Safe sigintr |
[man1]
[man2]
[man3]
[man4]
[man5]
[man6]
[man7]
[man8]
[a]
[b]
[c]
[d]
[e]
[f]
[g]
[h]
[i]
[j]
[k]
[l]
[m]
[n]
[o]
[p]
[q]
[r]
[s]
[t]
[u]
[v]
[w]
[x]
[y]
[z]