history

青木日記 RSS

<前の日 | この月 | 次の日>

2005-03-27

fcgi.rb

I/O してると Ruby CVS HEAD でシグナルがきかなるよ問題。

loop { sleep 1 } では死にきれないことがあったので、 結局 nonblocking mode と select(2) を使うことにした。 これでしばらく様子を見よう。

(03:16)

fcgi.rb (2)

SIGUSR1 での graceful exit の実装が おかしかったことも発覚したのでついでに直しておいた。

(03:18)

fcgi.rb (3)

あれ? RAA から fcgi が消えてる。 そうか、こないだの RAA 整理で消えたのか。

うーん、ソースがないのも不便だよなあ。 せめて fcgi.rb だけでも見える場所に置いておくか。

(03:37)

本日のツッコミ(全5件) [ツッコミを入れる]
ma2 (2005-03-28 11:22)

ちょっと前にfcgi.rbをWindowsで使ったのですが,
> trap('SIGPIPE','IGNORE')
これがWindowsではエラーになってしまうようです(SIGPIPEが存在しないため?)。
・WindowsXP Pro (SP2)
・ruby 1.8.1 (2003-12-25) [i386-mswin32]

青木 (2005-03-30 21:11)

追試してみました。シグナルと、最近入った
nonblocking 関係を外せば動作するようです。
ただ、Win32 だとシグナルの代わりにメッセージを
使うみたいなので、これに対応しないと実用に
ならないだろうと思います。

ちなみに、fcgi.rb 以外の環境は何をお使いでしょうか?

ma2 (2005-03-31 11:20)

fcgi.rb以外の環境というとサーバの環境でしょうか。
Apache 1.3.33(win)
mod_fastcgi 2.4.1
で使っています。
cgi周りは標準のcgi.rbに堀川さんのcgisup.rbをかませて,1.6/1.8の互換環境にしています。

青木 (2005-04-01 02:17)

そうか、Windows でも Apache 動くんでしたっけ。
なぜかすっきり忘れてました。

で、ちょっと Apache2 で試してみましたが、「動作
しますね」は嘘すぎました。どうも最初の FCGI.cgi?
がすでに動作していないようです。FastCGI development
kit の Windows 対応コードを見るかぎり、pure Ruby
で対応するのは凄まじく面倒そうです。

当面あきらめます。

ma2 (2005-04-01 16:14)

了解しました。
では無理せず?Unix系(うちはSolarisかFreeBSDなんですが)で使います。

名前
メールアドレス

<前の日 | この月 | 次の日>
2002|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|04|05|06|09|10|
2009|07|
2010|09|

Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved. LIRS