[Namazu-devel-ja 1142] Re: Windows 版 Namazu の SUICIDE_TIME の不具合について

NOKUBI Takatsugu knok @ daionet.gr.jp
2006年 8月 2日 (水) 13:47:38 JST


At Wed, 02 Aug 2006 13:01:59 +0900,
Tadamasa Teranishi wrote:
> namazu-cgi.c の中には
>     signal(SIGALRM, suicide);
>     alarm(suicide_time);
> とあるのですが、alarm が
> 
> #define alarm(sec)      SetTimer(NULL,1,((sec)*1000),NULL)
> 
> と何故か SetTimer になっている上、使えない SIGALRM を signal に
> 設定しています。
> 
> # 作りかけだったのだろうか...。

  気づきませんでした。誰が書いたのかも定かではありません。まあCVSを追っ
ていけばわかるのでしょうが、そんなことをしても意味がないですけど。
  一度MingWでw3mを動くよういろいろいじってみたのですが、Windowsでの
signalまわりはUnixのようとはとてもいえないですね。

> まじめに実装するのは簡単ではないので、
> とりあえず 「Namazu: セキュリティに関する考察」のページには UNIX
> 限定と書いて、namazurc-sample のコメントに UNIX Only と書き加え
> ましょうか。

  現状ではそれがいいですね。

> A. SetTimer を使う場合。
> B. 現在の処理をスレッドで実行する場合。
> といったところでしょうか。いずれにしても UNIX と Windows で随分
> 違うのが嫌ですね。

  どちらもちょっと大変ですね... 私にはWindows nativeなコードはとてもか
けそうにないです。

> 個人的には Web サーバの設定で CGI のタイムアウトを設定すれば
> なくても良いかなとは思っているのですが。

  こちらの方法を推奨するようWebに書いておくのがいいのでしょうかね。
-- 
野首 貴嗣
E-mail: knok @ daionet.gr.jp
	knok @ namazu.org / knok @ debian.org



Namazu-devel-ja メーリングリストの案内