CGIでシグナル処理を場合分けするには?

[上に] [前に] [次に]
シロ 1999/12/05(日) 22:45:44
わかりにくいタイトルですみません。
とほほさんのwwwboard.cgiを
改造して使わせていただいているのですが、
$SIG{'PIPE'}=...= "sigexit"; の部分で、
sub sigexit{}に引数を渡すことはできないでしょうか。
(削除するロックファイルを指定したいのです)
どうもこの"シグナルハンドラ"というのがよくわからなくて、
その使い方もわかっていない状態なのですが…。

よろしくお願いします。

とほほ 1999/12/06(月) 00:19:11
シグナルハンドラって、「○○が発生した時に」呼ばれる処理です。
例えば、終了ボタンが押されたとか、通信が途絶えたとか、プログラム
が強制終了させられたとか・・・

ロックファイル作成時に、そのファイル名を変数(グローバル変数)に
覚えておいて、sigexit() の中でその変数を参照すればよいと思います。

シロ 1999/12/06(月) 01:52:17
[[解決]]
とほほさん、回答ありがとうございました。
>ロックファイル作成時に、そのファイル名を変数(グローバル変数)に
>覚えておいて、sigexit() の中でその変数を参照すればよいと思います。
そうか、そうすればいいんですね。
引数云々を考えすぎて他のやり方に気づいていませんでした。
教えていただいたようにして解決しました。
シグナルハンドラの説明もありがとうございました。

[上に] [前に] [次に]