From 11dbedfaad4a9a9521ece2198a8dc491678b1902 Mon Sep 17 00:00:00 2001 From: shyouhei Date: Wed, 29 Aug 2007 04:06:12 +0000 Subject: add tag v1_8_6_5001 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_8_6_5001@13304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ruby_1_8_6/ext/tk/README.fork | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 ruby_1_8_6/ext/tk/README.fork (limited to 'ruby_1_8_6/ext/tk/README.fork') diff --git a/ruby_1_8_6/ext/tk/README.fork b/ruby_1_8_6/ext/tk/README.fork new file mode 100644 index 0000000000..707d78fc12 --- /dev/null +++ b/ruby_1_8_6/ext/tk/README.fork @@ -0,0 +1,34 @@ +Ruby/Tk does NOT support forking the process on which Tk interpreter +is running (unless NEVER control Tk interpreter under the forked child +process). In the library 'tk.rb', a Tk interpreter is initialized. +Therefore, if you want running Tk under a child process, please call +"require 'tk'" in the child process. + +# If do fork and exec() on the child process, you can +# control Ruby/Tk interpreter on the child process by 'send' command +# of Tcl/Tk. About this, please see Tk.appsend and Tk.rb_appsend, or +# 'remote-tk.rb' and the sample 'sample/remote-ip_sample.rb'. + +For example, the following sample1 will NOT work, and sample2 will +work properly. + +------------------------------------------ +require 'tk' ## init Tk interpreter under parent process + +exit! if fork ## exit parent process + +## child process +TkButton.new(:text=>'QUIT', :command=>proc{exit}).pack +Tk.mainloop +------------------------------------------------------------- + +----------------------------------------- +exit! if fork ## exit main process + +## child process +require 'tk' ## init Tk interpreter under child process +TkButton.new(:text=>'QUIT', :command=>proc{exit}).pack +Tk.mainloop +------------------------------------------------------------- + + 2004/05/22 Hidetoshi NAGAI -- cgit v1.2.3