Module Gtk
In: lib/virt-p2v/gtk-queue.rb
lib/virt-p2v/gtk-queue.rb

Methods

Constants

GTK_PENDING_BLOCKS = []
GTK_PENDING_BLOCKS_LOCK = Mutex.new
GTK_PENDING_BLOCKS = []
GTK_PENDING_BLOCKS_LOCK = Mutex.new

Public Class methods

[Source]

    # File lib/virt-p2v/gtk-queue.rb, line 40
40:     def Gtk.main_with_queue timeout
41:         Gtk.timeout_add timeout do
42:             GTK_PENDING_BLOCKS_LOCK.synchronize do
43:                 for block in GTK_PENDING_BLOCKS
44:                     block.call
45:                 end
46:                 GTK_PENDING_BLOCKS.clear
47:             end
48:             true
49:         end
50:         Gtk.main
51:     end

[Source]

    # File lib/virt-p2v/gtk-queue.rb, line 40
40:     def Gtk.main_with_queue timeout
41:         Gtk.timeout_add timeout do
42:             GTK_PENDING_BLOCKS_LOCK.synchronize do
43:                 for block in GTK_PENDING_BLOCKS
44:                     block.call
45:                 end
46:                 GTK_PENDING_BLOCKS.clear
47:             end
48:             true
49:         end
50:         Gtk.main
51:     end

[Source]

    # File lib/virt-p2v/gtk-queue.rb, line 30
30:     def Gtk.queue &block
31:         if Thread.current == Thread.main
32:             block.call
33:         else
34:             GTK_PENDING_BLOCKS_LOCK.synchronize do
35:                 GTK_PENDING_BLOCKS << block
36:             end
37:         end
38:     end

[Source]

    # File lib/virt-p2v/gtk-queue.rb, line 30
30:     def Gtk.queue &block
31:         if Thread.current == Thread.main
32:             block.call
33:         else
34:             GTK_PENDING_BLOCKS_LOCK.synchronize do
35:                 GTK_PENDING_BLOCKS << block
36:             end
37:         end
38:     end

[Validate]