[#25636] [Oniguruma 3.X] reggnu.c — "K.Kosako" <sndgk393@...>

さっき気がついたのですが、元々は

15 messages 2005/02/05

[#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 で、

9 messages 2005/02/08
[#25670] Re: openssl binding for SSL_CTX_set_default_verify_paths and X509_STORE_set_default_paths — GOTOU Yuuzou <gotoyuzo@...> 2005/02/10

In message <876513vce0.fsf@serein.a02.aist.go.jp>,

[#25713] pthread trouble on sighandler — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

17 messages 2005/02/18
[#25714] Re: pthread trouble on sighandler — Yukihiro Matsumoto <matz@...> 2005/02/18

まつもと ゆきひろです

[#25755] I/O operation differs signal handler — Minero Aoki <aamine@...>

青木です。

14 messages 2005/02/24
[#25756] Re: I/O operation differs signal handler — Tanaka Akira <akr@...17n.org> 2005/02/24

In article <20050224091450P.aamine@loveruby.net>,

[ruby-dev:25611] Re: some problems on ext/tk/sample/**/*.rb

From: Hidetoshi NAGAI <nagai@...>
Date: 2005-02-01 09:45:49 UTC
List: ruby-dev #25611
永井@知能.九工大です.

調査をありがとうございます.

From: H.Yamamoto <ocean@m2.ccsnet.ne.jp>
Subject: [ruby-dev:25609] Re: some problems on ext/tk/sample/**/*.rb
Date: Tue, 1 Feb 2005 17:06:30 +0900
Message-ID: <20050201170617.8CF43D68.ocean@m2.ccsnet.ne.jp>
> あれから調べていたのですが、なぜ namespace が壊れるのか
> ようやくわかりました。結論から言うと、Tcl のメニューを
> 押したとき ruby 側のコールバックが呼ばれますが、そこで
> Kernel.exit を呼ぶと、現在の実装では Tcl の環境をまたいで
> longjmp が行われてしまいます。そのため、フレームとして
> 登録されていたスタックな CallFrame が Pop されず残って
> しまい、フレームの破壊につながったと考えられます。
    (snip)
> ruby_eval 中に ruby_stop してもいいのかわかりませんが、とりあえず下のように
> すると落ちなくなりました。本当は Tcl_SetResult などを使って、Tcl の環境を
> 安全に通過した後、Tcl_GetResult を見て lib_eventloop_launcher で exit(2)
> すべきなのかもしれません。(試してないので不可能かもしれませんが)

う〜〜〜〜む.難しいところですねぇ...
この修正を適用してしまうと,次のようなケースが動かなくなってしまいます.

----------------------------------------------
require 'tk'
b = TkButton.new(:command=>proc{exit})
begin
  b.invoke
rescue SystemExit
  puts "Ignore Exit"
end
puts "normal exit"
----------------------------------------------

これが通らないのは受け入れがたいと思われますので,
「臭いものに蓋」の状態であることは十分に承知してはいますが,
今は revert しないでおきます.

調査していただいたおかげで問題の原因はわかったわけですから,
適切な解決方法がないかをもう少し考えてみます.
-- 
                                       永井 秀利 (九工大 知能情報)
                                           nagai@ai.kyutech.ac.jp

In This Thread