GSIGNAL

Section: Linux Programmer's Manual (3)
Updated: 2020-04-11
Index JM Home Page
 

名前

gsignal, ssignal - ソフトウェアシグナル機能  

書式

#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  

説明

Linux ではこれらの関数を使用しないこと。 過去に間違いがあり、Linux では gsignal() と ssignal() はそれぞれ raise(3) と signal(2) の別名になっている。

一方、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 である)。  

属性

この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース 属性 値
gsignal() Thread safety MT-Safe
ssignal() Thread safety MT-Safe sigintr

 

準拠

これらの関数は、AIX, DG/UX, HP-UX, SCO, Solaris, Tru64 で使用可能である。 これらのシステムのほとんどで廃止されたことになっており、 glibc では正しく実装されていない。 gsignal_r() と ssignal_r() が実装されているシステムもある。  

関連項目

kill(2), signal(2), raise(3)  

この文書について

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

関連キーワード

アクション   ソフトウェア   実装   gsignal   ssignal   シグナル   sighandler   返り値   Thread   safety   signal   検査   マクロ   要件   macros   Since   earlier   過去   別名   System   従来   独立   シグナ   リング   実現

Linux マニュアル 一覧

関連するコマンド・関数

ssignal.3   nsswitch.conf.5   find.1   lesskey.1   bsd_signal.3   rt_sigsuspend.2
 

Index

名前
書式
説明
属性
準拠
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 04:39:35 GMT, October 11, 2026