Diff
Modified: MacRuby/trunk/lib/dispatch/README.rdoc (4327 => 4328)
--- MacRuby/trunk/lib/dispatch/README.rdoc 2010-07-07 23:06:50 UTC (rev 4327)
+++ MacRuby/trunk/lib/dispatch/README.rdoc 2010-07-07 23:06:51 UTC (rev 4328)
@@ -486,11 +486,11 @@
puts "Dispatch::Source.signal: #{s.data} (#{@signals += s.data})"
end
+ puts "signals: #{@signals} => 0"
signal.suspend!
Signal.trap(sig_usr2, "IGNORE")
3.times { Process.kill(sig_usr2, $$) }
Signal.trap(sig_usr2, "DEFAULT")
- puts "signals: #{@signals} => 0"
signal.resume!
q.sync {}
puts "signals: #{@signals} => 3"
Modified: MacRuby/trunk/lib/dispatch/source.rb (4327 => 4328)
--- MacRuby/trunk/lib/dispatch/source.rb 2010-07-07 23:06:50 UTC (rev 4327)
+++ MacRuby/trunk/lib/dispatch/source.rb 2010-07-07 23:06:51 UTC (rev 4328)
@@ -21,7 +21,8 @@
class << self
def event2num(e)
- value = e.to_int rescue @@events[e.to_sym]
+ return 0 if e.nil?
+ value = e.to_int rescue @@events[e.to_sym]
raise ArgumentError, "No event type #{e.inspect}" if value.nil?
value
end
Modified: MacRuby/trunk/sample-macruby/Scripts/gcd/dispatch_methods.rb (4327 => 4328)
--- MacRuby/trunk/sample-macruby/Scripts/gcd/dispatch_methods.rb 2010-07-07 23:06:50 UTC (rev 4327)
+++ MacRuby/trunk/sample-macruby/Scripts/gcd/dispatch_methods.rb 2010-07-07 23:06:51 UTC (rev 4328)
@@ -166,11 +166,11 @@
signal = Dispatch::Source.signal(sig_usr2, q) do |s|
puts "Dispatch::Source.signal: #{s.data} (#{@signals += s.data})"
end
+puts "signals: #{@signals} => 0"
signal.suspend!
Signal.trap(sig_usr2, "IGNORE")
3.times { Process.kill(sig_usr2, $$) }
Signal.trap(sig_usr2, "DEFAULT")
-puts "signals: #{@signals} => 0"
signal.resume!
q.sync {}
puts "signals: #{@signals} => 3"