[macruby-changes] [3335] MacRuby/trunk
source_changes at macosforge.org
source_changes at macosforge.org
Mon Jan 25 16:39:07 PST 2010
Revision: 3335
http://trac.macosforge.org/projects/ruby/changeset/3335
Author: ernest.prabhakar at gmail.com
Date: 2010-01-25 16:39:06 -0800 (Mon, 25 Jan 2010)
Log Message:
-----------
Added sporadically-failing Dispatch::Source tags
Modified Paths:
--------------
MacRuby/trunk/spec/macruby/tags/macruby/core/gcd/source_tags.txt
Added Paths:
-----------
MacRuby/trunk/lib/dispatch/
MacRuby/trunk/lib/dispatch/queue_source.rb
Removed Paths:
-------------
MacRuby/trunk/gcd_prelude.rb
Deleted: MacRuby/trunk/gcd_prelude.rb
===================================================================
--- MacRuby/trunk/gcd_prelude.rb 2010-01-25 22:19:25 UTC (rev 3334)
+++ MacRuby/trunk/gcd_prelude.rb 2010-01-26 00:39:06 UTC (rev 3335)
@@ -1,79 +0,0 @@
-module Dispatch
- class Source
- @@proc_events = {
- exit:PROC_EXIT,
- fork:PROC_FORK,
- exec:PROC_EXEC,
- signal:PROC_SIGNAL
- }
- def self.proc_event(e)
- convert_event(e, @@proc_events)
- end
-
- @@vnode_events = {
- delete:VNODE_DELETE,
- write:VNODE_WRITE,
- extend:VNODE_EXTEND,
- attrib:VNODE_ATTRIB,
- link:VNODE_LINK,
- rename:VNODE_RENAME,
- revoke:VNODE_REVOKE
- }
- def self.vnode_event(e)
- convert_event(e, @@vnode_events)
- end
-
- def self.convert_event(e, hash)
- return e.to_i if e.is_a? Numeric
- value = hash[e]
- raise ArgumentError, "No event type #{e}" if value.nil?
- value
- end
- end
-
- class Queue
- # Returns a Dispatch::Source::DATA_ADD
- def on_add(&block)
- Dispatch::Source.new(Dispatch::Source::DATA_ADD, 0, 0, self, &block)
- end
-
- # Returns a Dispatch::Source::DATA_OR
- def on_or(&block)
- Dispatch::Source.new(Dispatch::Source::DATA_OR, 0, 0, self, &block)
- end
-
- # Takes event symbols: :delete, :write, :extend, :attrib, :link, :rename, :revoke
- # Returns a Dispatch::Source::PROC
- def on_process_event(pid, *events, &block)
- mask = events.collect {|e| Dispatch::Source::proc_event(e)}.reduce(:|)
- Dispatch::Source.new(Dispatch::Source::PROC, pid, mask, self, &block)
- end
-
- # Returns a Dispatch::Source::SIGNAL
- def on_signal(signal, &block)
- signal = Signal.list[signal.to_s] if signal.to_i == 0
- Dispatch::Source.new(Dispatch::Source::SIGNAL, signal, 0, self, &block)
- end
-
- # Returns a Dispatch::Source::READ
- def on_read(file, &block)
- Dispatch::Source.new(Dispatch::Source::READ, file, 0, self, &block)
- end
-
- # Returns a Dispatch::Source::WRITE
- def on_write(file, &block)
- Dispatch::Source.new(Dispatch::Source::WRITE, file, 0, self, &block)
- end
-
- # Takes event symbols: :exit, :fork, :exec, :signal
- # Returns a Dispatch::Source::VNODE
- def on_file_event(file, *events, &block)
- mask = events.collect {|e| Dispatch::Source::vnode_event(e)}.reduce(:|)
- Dispatch::Source.new(Dispatch::Source::VNODE, file,mask, self,&block)
- end
-
- def on_interval(sec, &block)
- Dispatch::Source.timer(0, sec, 0, self, &block)
- end
- end
-end
Copied: MacRuby/trunk/lib/dispatch/queue_source.rb (from rev 3334, MacRuby/trunk/gcd_prelude.rb)
===================================================================
--- MacRuby/trunk/lib/dispatch/queue_source.rb (rev 0)
+++ MacRuby/trunk/lib/dispatch/queue_source.rb 2010-01-26 00:39:06 UTC (rev 3335)
@@ -0,0 +1,79 @@
+module Dispatch
+ class Source
+ @@proc_events = {
+ exit:PROC_EXIT,
+ fork:PROC_FORK,
+ exec:PROC_EXEC,
+ signal:PROC_SIGNAL
+ }
+ def self.proc_event(e)
+ convert_event(e, @@proc_events)
+ end
+
+ @@vnode_events = {
+ delete:VNODE_DELETE,
+ write:VNODE_WRITE,
+ extend:VNODE_EXTEND,
+ attrib:VNODE_ATTRIB,
+ link:VNODE_LINK,
+ rename:VNODE_RENAME,
+ revoke:VNODE_REVOKE
+ }
+ def self.vnode_event(e)
+ convert_event(e, @@vnode_events)
+ end
+
+ def self.convert_event(e, hash)
+ return e.to_i if e.is_a? Numeric
+ value = hash[e]
+ raise ArgumentError, "No event type #{e}" if value.nil?
+ value
+ end
+ end
+
+ class Queue
+ # Returns a Dispatch::Source::DATA_ADD
+ def on_add(&block)
+ Dispatch::Source.new(Dispatch::Source::DATA_ADD, 0, 0, self, &block)
+ end
+
+ # Returns a Dispatch::Source::DATA_OR
+ def on_or(&block)
+ Dispatch::Source.new(Dispatch::Source::DATA_OR, 0, 0, self, &block)
+ end
+
+ # Takes event symbols: :delete, :write, :extend, :attrib, :link, :rename, :revoke
+ # Returns a Dispatch::Source::PROC
+ def on_process_event(pid, *events, &block)
+ mask = events.collect {|e| Dispatch::Source::proc_event(e)}.reduce(:|)
+ Dispatch::Source.new(Dispatch::Source::PROC, pid, mask, self, &block)
+ end
+
+ # Returns a Dispatch::Source::SIGNAL
+ def on_signal(signal, &block)
+ signal = Signal.list[signal.to_s] if signal.to_i == 0
+ Dispatch::Source.new(Dispatch::Source::SIGNAL, signal, 0, self, &block)
+ end
+
+ # Returns a Dispatch::Source::READ
+ def on_read(file, &block)
+ Dispatch::Source.new(Dispatch::Source::READ, file, 0, self, &block)
+ end
+
+ # Returns a Dispatch::Source::WRITE
+ def on_write(file, &block)
+ Dispatch::Source.new(Dispatch::Source::WRITE, file, 0, self, &block)
+ end
+
+ # Takes event symbols: :exit, :fork, :exec, :signal
+ # Returns a Dispatch::Source::VNODE
+ def on_file_event(file, *events, &block)
+ mask = events.collect {|e| Dispatch::Source::vnode_event(e)}.reduce(:|)
+ Dispatch::Source.new(Dispatch::Source::VNODE, file,mask, self,&block)
+ end
+
+ def on_interval(sec, &block)
+ Dispatch::Source.timer(0, sec, 0, self, &block)
+ end
+ end
+end
Modified: MacRuby/trunk/spec/macruby/tags/macruby/core/gcd/source_tags.txt
===================================================================
--- MacRuby/trunk/spec/macruby/tags/macruby/core/gcd/source_tags.txt 2010-01-25 22:19:25 UTC (rev 3334)
+++ MacRuby/trunk/spec/macruby/tags/macruby/core/gcd/source_tags.txt 2010-01-26 00:39:06 UTC (rev 3335)
@@ -1,3 +1,5 @@
fails:Dispatch::Source of type SIGNAL fires on signal with signal count data
+fails:Dispatch::Source of type PROC fires on process event with event mask data
fails:Dispatch::Source of type file: READ does close file when cancelled given IO
fails:Dispatch::Source of type file: WRITE does close file when cancelled given IO
+fails:Dispatch::Source of type file: VNODE does close file when cancelled given IO
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20100125/55a3f715/attachment.html>
More information about the macruby-changes
mailing list