# File lib/virt-p2v/gtk-queue.rb, line 40 def Gtk.main_with_queue timeout Gtk.timeout_add timeout do GTK_PENDING_BLOCKS_LOCK.synchronize do for block in GTK_PENDING_BLOCKS block.call end GTK_PENDING_BLOCKS.clear end true end Gtk.main end
# File lib/virt-p2v/gtk-queue.rb, line 40 def Gtk.main_with_queue timeout Gtk.timeout_add timeout do GTK_PENDING_BLOCKS_LOCK.synchronize do for block in GTK_PENDING_BLOCKS block.call end GTK_PENDING_BLOCKS.clear end true end Gtk.main end
# File lib/virt-p2v/gtk-queue.rb, line 30 def Gtk.queue &block if Thread.current == Thread.main block.call else GTK_PENDING_BLOCKS_LOCK.synchronize do GTK_PENDING_BLOCKS << block end end end