From: Hidetoshi NAGAI Date: 2003-12-25T00:57:23+09:00 Subject: [ruby-dev:22393] Re: Tk.callback_break causes seg-fault or hang-up 永井@知能.九工大です. 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