Issue #7884 has been reported by hirura (Hiroyuki URANISHI). ---------------------------------------- Bug #7884: Tkで,コマンドにforkを入れると,イベント実行時にクラッシュする https://bugs.ruby-lang.org/issues/7884 Author: hirura (Hiroyuki URANISHI) Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: ruby 1.9.3p385 (2013-02-06 revision 39114) [universal.x86_64-darwin10] 題名の通りです. MacPortsからインストールした 1.9.3-p327+mactk 1.9.3-p385+mactk で同じ症状でした. 以下,ソースです.forkブロック中の,p 'forked process'は表示されます.ウィンドウ終了しませんでした. require 'tk' tkroot = TkRoot.new content = Tk::Tile::Frame.new( tkroot ).grid Tk::Tile::Button.new( content ){ text 'OK' command{ pid = fork{ p 'forked process' } th = Process.detach( pid ) p th.value } }.grid Tk.mainloop
on 2013-02-19 15:07
on 2013-02-22 00:55
Issue #7884 has been updated by ko1 (Koichi Sasada). Category set to ext Assignee set to nagai (Hidetoshi Nagai) Target version set to 2.1.0 ---------------------------------------- Bug #7884: Tkで,コマンドにforkを入れると,イベント実行時にクラッシュする https://bugs.ruby-lang.org/issues/7884#change-36727 Author: hirura (Hiroyuki URANISHI) Status: Open Priority: Normal Assignee: nagai (Hidetoshi Nagai) Category: ext Target version: 2.1.0 ruby -v: ruby 1.9.3p385 (2013-02-06 revision 39114) [universal.x86_64-darwin10] 題名の通りです. MacPortsからインストールした 1.9.3-p327+mactk 1.9.3-p385+mactk で同じ症状でした. 以下,ソースです.forkブロック中の,p 'forked process'は表示されます.ウィンドウ終了しませんでした. require 'tk' tkroot = TkRoot.new content = Tk::Tile::Frame.new( tkroot ).grid Tk::Tile::Button.new( content ){ text 'OK' command{ pid = fork{ p 'forked process' } th = Process.detach( pid ) p th.value } }.grid Tk.mainloop
on 2013-06-17 07:20
Issue #7884 has been updated by nagai (Hidetoshi Nagai). Status changed from Open to Rejected 少なくとも現状では,callback 中の fork は非サポートです. 通常,callback は eventloop が走っている thread で実行されます. しかも,callback が実行される際には Tcl 側と Ruby 側との処理が絡み合っています. この状況でウィンドウシステムのイベント処理を行う thread が複製された時に生じることについて, 私には保証しきれません. ---------------------------------------- Bug #7884: Tkで,コマンドにforkを入れると,イベント実行時にクラッシュする https://bugs.ruby-lang.org/issues/7884#change-39987 Author: hirura (Hiroyuki URANISHI) Status: Rejected Priority: Normal Assignee: nagai (Hidetoshi Nagai) Category: ext Target version: current: 2.1.0 ruby -v: ruby 1.9.3p385 (2013-02-06 revision 39114) [universal.x86_64-darwin10] Backport: 題名の通りです. MacPortsからインストールした 1.9.3-p327+mactk 1.9.3-p385+mactk で同じ症状でした. 以下,ソースです.forkブロック中の,p 'forked process'は表示されます.ウィンドウ終了しませんでした. require 'tk' tkroot = TkRoot.new content = Tk::Tile::Frame.new( tkroot ).grid Tk::Tile::Button.new( content ){ text 'OK' command{ pid = fork{ p 'forked process' } th = Process.detach( pid ) p th.value } }.grid Tk.mainloop
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.