Actions
Bug #1872
closed[ruby_1_8] Kernel#system doesn't work in forked process
Description
=begin
OS 環境に依存している気もしないではないですが,
例えば次のような例が hang-up します.
$ ruby -e 'Process.fork{p system("ls")}'
Linux 2.6.15, glibc 2.3.3 における
ruby 1.8.8dev (2009-08-03 revision 24370) です.
configure オプションは --enable-pthread だけを与えています.
rb_f_system() 中の fork までは完了しており,
子プロセスは生成されてはいるものの,
生成直後に固まってしまっているようです.
親プロセスについては,子プロセスの ID を受け取り,
素直に動作して rb_syswait() に入っているように見受けられます.
なお,上記の例で system の代りに exec とした場合には
問題なく動作します.
=end
Actions
Like0
Like0Like0Like0Like0Like0Like0Like0Like0