2.9.4. __raise()

この関数は、ランタイム異常を示すシグナルを生成します。

構文

int __raise(int signal, int type);

各引数には以下の意味があります。

signal

シグナルの番号を保持する整数です。

type

整数、文字列定数、変数のいずれかを指定します。

使用法

この関数によって、通常の C シグナルメカニズムまたはデフォルトのシグナルハンドラが呼び出されます。 _ttywrch()も参照して下さい。

__raise() 関数は、以下を定義することによって置き換えられます。

int __raise(int signal, int type)

この定義によって、C シグナルメカニズムとデータを消費するシグナルハンドラベクタをバイパスできますが、それ以外には基本的に以下と同じインタフェースが提供されます。

void __default_signal_handler(int signal, int type);

ARM C ライブラリでのスレッドセーフティも参照して下さい。

戻り値

__raise() には以下の 3 つの復帰条件が考えられます。

復帰しない

ハンドラによって長距離のジャンプまたは再起動が実行されます。

ゼロ

シグナルが処理されたことを示します。

ゼロ以外

呼び出しコードによって戻り値を終了コードに渡す必要があります。 デフォルトのライブラリの実装では、__raise() によってゼロ以外の復帰コード rc が返されると、_sys_exit(rc) が呼び出されます。

Copyright © 2007 ARM Limited. All rights reserved.ARM DUI 0349AJ
Non-Confidential