[#25636] [Oniguruma 3.X] reggnu.c — "K.Kosako" <sndgk393@...>
さっき気がついたのですが、元々は
まつもと ゆきひろです
Yukihiro Matsumotoさんの
斉藤です。
Kazuo Saito wrote:
[#25647] C level set_trace_func — Shugo Maeda <shugo@...>
前田です。
まつもと ゆきひろです
前田です。
[#25655] openssl binding for SSL_CTX_set_default_verify_paths and X509_STORE_set_default_paths — Tanaka Akira <akr@...17n.org>
open-uri で https を扱うことを考えていろいろと調べていた所、openssl で、
In message <876513vce0.fsf@serein.a02.aist.go.jp>,
In article <20050211.053825.291449071.gotoyuzo@sawara.does.notwork.org>,
In article <87psz6gcfh.fsf@serein.a02.aist.go.jp>,
In message <87ll9thnng.fsf@serein.a02.aist.go.jp>,
In article <20050213.021305.304099822.gotoyuzo@sawara.does.notwork.org>,
[#25700] BUG on thread and block? — sheepman <sheepman@...>
こんばんは、sheepman です。
[#25712] core dump with GC in rb_thread_save_context — Tanaka Akira <akr@...17n.org>
昨日の夜からとあるプログラム (五月雨) が 4回ばかり core を吐いていて、
[#25713] pthread trouble on sighandler — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
[#25726] named capture — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#25741] Oniguruma 3.7.0 — Kazuo Saito <ksaito@...>
斉藤です。
[#25755] I/O operation differs signal handler — Minero Aoki <aamine@...>
青木です。
In article <20050224091450P.aamine@loveruby.net>,
In article <1109213650.235317.11155.nullmailer@x31.priv.netlab.jp>,
まつもと ゆきひろです
In article <1109224128.668484.13752.nullmailer@x31.priv.netlab.jp>,
[ruby-dev:25755] I/O operation differs signal handler
青木です。
以下のようなプログラムを実行して SIGTERM を送っても、
$stdin.gets が戻るまでシグナルハンドラが実行されません。
Signal.trap(:TERM) { puts 'TERM'; exit }
puts $$
while true
p $stdin.gets()
end
pure Ruby 版の FastCGI サーバでこのようなコードが必要になりました。
FastCGI サーバは常に stdin を待ち受けますが、SIGUSR1 でリジューム、
SIGTERM で exit 0 をするという規約があるので、I/O 待ちをしつつ
リアルタイムでシグナルも受け付ける必要があります。
これが動作しないと事実上シグナルが効かなくなるので、例えば Apache
が停止しても ruby プロセスだけが残ってしまうという問題があります。
うちのサーバでは毎日ログをローテートするたびに ruby プロセスが死に
損なっていました。
なお、上記のコードが動作しない原因は [ruby-dev:25003] で導入された
signal.c:1.55 がそのままになっていることだと思います。そのあとの
展開でこのリビジョンの変更は不要になっているはずなので、巻き戻す
べきではないでしょうか。
-------------------------------------------------------------------
青木峰郎
Thu Feb 24 09:08:10 2005 Minero Aoki <aamine@loveruby.net>
* signal.c: revert rev 1.55; allow pure ruby signal handler
in I/O operation.
Index: signal.c
===================================================================
RCS file: /var/cvs/src/ruby/signal.c,v
retrieving revision 1.57
diff -u -r1.57 signal.c
--- signal.c 22 Feb 2005 14:50:33 -0000 1.57
+++ signal.c 24 Feb 2005 00:02:31 -0000
@@ -465,7 +465,7 @@
}
#endif
- if (trap_list[sig].cmd == 0 && ATOMIC_TEST(rb_trap_immediate)) {
+ if (ATOMIC_TEST(rb_trap_immediate)) {
IN_MAIN_CONTEXT(signal_exec, sig);
ATOMIC_SET(rb_trap_immediate, 1);
}