Revision
4328
Author
ernest.prabhakar@gmail.com
Date
2010-07-07 16:06:51 -0700 (Wed, 07 Jul 2010)

Log Message

Make Dispatch::Source conversions more robust

Modified Paths

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"