mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	 0d6d23b25d
			
		
	
	
		0d6d23b25d
		
	
	
	
	
		
			
			git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			34 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| 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
 |