|
|
|
| 2008/10/07 11:42||▲
|
|
|
abort関数はプログラムを異常終了させるためのものです。「プログラムの終了」という処理の具体的な動作が実行環境に依存するため、必然的にabort関数の動作も実行環境に強く依存します。
今回は余り深く考えず、実行環境であるTOPPERS/JSPカーネルのターゲット依存部で定義されるkernel_abort関数を使用することにしました。
#include <signal.h>
void abort(void) { raise(SIGABRT); kernel_abort(); }
ご覧の通り、abort関数では、プログラムを終了させる前にSIGABRTシグナルを発生させます。したがって、SIGABRTのシグナル処理ルーチンから、longjmpなどの方法で脱出するか、ext_tskでタスクを終了させてしまえば、プログラムは終了しなくなります。
|
| 2006/05/24 01:10|一般ユーティリティ|TB:0|CM:0|▲
|
|
|
コメント
|
|
コメントの投稿
|
|
|
|
|
トラックバック
|
トラックバックURLはこちら
http://libc.blog47.fc2.com/tb.php/59-b16c1f46
|
|
|
|
|
ホーム
全記事一覧
<< 前の記事
次の記事 >>
|