module FFI::Tcl
Constants
- ATTACHED_FUNCTIONS
- BINDING
Attributes
thread_sender[R]
Public Instance Methods
setup_eventloop_on_main_thread()
click to toggle source
# File lib/ffi-tk/ffi/tcl.rb, line 87 def setup_eventloop_on_main_thread puts "Run eventloop on main thread" if $DEBUG code = <<-'RUBY'.strip def self.%s(*args, &block) %s(*args, &block) end RUBY binding, file, line = BINDING, __FILE__, __LINE__ - 5 ATTACHED_FUNCTIONS.each do |function, ruby_name| eval(code % [ruby_name, function], binding, file, line) end Interp.new(create_interp) end
setup_eventloop_on_new_thread()
click to toggle source
# File lib/ffi-tk/ffi/tcl.rb, line 68 def setup_eventloop_on_new_thread puts "Run eventloop on new thread" if $DEBUG code = <<-RUBY.strip def self.%s(*args, &block) @thread_sender.thread_send{ %s(*args, &block) } end RUBY binding, file, line = BINDING, __FILE__, __LINE__ - 5 ATTACHED_FUNCTIONS.each do |function, ruby_name| eval(code % [ruby_name, function], binding, file, line) end @thread_sender = ThreadSender.new class << self; attr_reader :thread_sender; end @thread_sender.thread_send{ Interp.new(create_interp) } end