Actions
Bug #7884
closedTkで,コマンドにforkを入れると,イベント実行時にクラッシュする
ruby -v:
ruby 1.9.3p385 (2013-02-06 revision 39114) [universal.x86_64-darwin10]
Backport:
Description
題名の通りです.
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
Files
Updated by ko1 (Koichi Sasada) over 11 years ago
- Category set to ext
- Assignee set to nagai (Hidetoshi Nagai)
- Target version set to 2.1.0
Updated by nagai (Hidetoshi Nagai) over 11 years ago
- Status changed from Open to Rejected
少なくとも現状では,callback 中の fork は非サポートです.
通常,callback は eventloop が走っている thread で実行されます.
しかも,callback が実行される際には Tcl 側と Ruby 側との処理が絡み合っています.
この状況でウィンドウシステムのイベント処理を行う thread が複製された時に生じることについて,
私には保証しきれません.
Actions
Like0
Like0Like0