ruby/ext/tk
nagai 13fde676fe * ext/tcltklib/tcltklib.c: define TclTkLib::COMPILE_INFO and RELEASE_DATE
* ext/tcltklib/extconf.rb: ditto
* ext/tk/lib/tkutil.c: define Tk::RELEASE_DATE
* ext/tk/lib/tk.rb: define Tk::RELEASE_DATE


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-23 04:17:03 +00:00
..
lib * ext/tcltklib/tcltklib.c: define TclTkLib::COMPILE_INFO and RELEASE_DATE 2004-12-23 04:17:03 +00:00
sample * ext/tk/sample/demos-en/widget: modify version check for supporting features 2004-12-16 07:32:01 +00:00
.cvsignore * configure.in: modify program_prefix only if specified 2002-09-08 09:08:15 +00:00
ChangeLog.tkextlib * ext/tk/lib/tk/bindtag.rb: bug fix [ruby-talk: 123667] 2004-12-16 07:13:14 +00:00
README.1st * ext/tk/lib/tcltklib : bug fix 2004-07-01 09:38:48 +00:00
README.fork * ext/tk/lib/tk.rb: add Tk.appsend_deny and improve Tk.rb_appsend 2004-05-21 20:45:27 +00:00
depend remove marshal/gtk/kconv 1999-08-13 05:37:52 +00:00
extconf.rb * ext/tk/lib/tk.rb: support to use different Tcl commands between 2004-11-03 08:09:55 +00:00
tkutil.c * ext/tcltklib/tcltklib.c: define TclTkLib::COMPILE_INFO and RELEASE_DATE 2004-12-23 04:17:03 +00:00

README.fork

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(<new Ruby/Tk>) 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.

---<sample1: NOT work>---------------------------------------
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
-------------------------------------------------------------

---<sample2: will work>--------------------------------------
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