永井@知能.九工大です. From: matz / ruby-lang.org (Yukihiro Matsumoto) Subject: [ruby-dev:22387] Re: Tk.callback_break causes seg-fault or hang-up Date: Wed, 24 Dec 2003 23:26:18 +0900 Message-ID: <1072275976.351079.31157.nullmailer / picachu.netlab.jp> > テストスクリプトと期待する動作を教えてください。なんとかでき > るかもしれません。 メール確認が遅くなってしまったので手遅れかもしれませんが, 簡単なテストスクリプトです. ----------------------------------------------------------- require 'tk' b = TkButton.new(:command=>proc{p 'never print me'}).pack b.bind('Button-1', proc{p 'clicked!'; Tk.callback_break}) Tk.mainloop ----------------------------------------------------------- 最初の 1 〜 2 回は正常に 'clicked!' を表示しますが, 繰り返しているとハングアップすると思います. この例でうまく確認できなければ,[ruby-talk:88781] の サンプルで試してみてください. こちらの場合は,テキストウィジェットに aaa などと キーボードから入力しようとすると最初の 1 〜 2 文字は 正常に入力されるものの,その後の入力時には seg-fault を 起こします. 死ぬのは Tcl_DoOneEvent() の中です. Ruby の native thread 以外から ruby の内部ルーチンが 呼び出されていないことは確認しています. -- 永井 秀利 (九工大 知能情報) nagai / ai.kyutech.ac.jp