about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2010-09-26 03:49:14 +0000
committerEric Wong <normalperson@yhbt.net>2010-09-26 03:49:14 +0000
commit4a9ce0319f6e0250c4a8e01284fd5684936bde21 (patch)
treeac30d2a83c23a6779c14d7add596f31d1772c3d1
parent96dad9948d3a7b181d50a9fcb35320677edc352b (diff)
downloadsleepy_penguin-4a9ce0319f6e0250c4a8e01284fd5684936bde21.tar.gz
This can potentially be very powerful under 1.9
with native threads
-rw-r--r--test/test_epoll.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/test_epoll.rb b/test/test_epoll.rb
index 50daf3e..c6a11ed 100644
--- a/test/test_epoll.rb
+++ b/test/test_epoll.rb
@@ -13,6 +13,16 @@ class TestEpoll < Test::Unit::TestCase
     @ep = Epoll.new
   end
 
+  def test_cross_thread
+    tmp = []
+    Thread.new { sleep 0.100; @ep.add(@wr, Epoll::OUT) }
+    t0 = Time.now
+    @ep.wait { |flags,obj| tmp << [ flags, obj ] }
+    elapsed = Time.now - t0
+    assert elapsed >= 0.100
+    assert_equal [[Epoll::OUT, @wr]], tmp
+  end
+
   def test_fork_safe
     tmp = []
     @ep.add @rd, Epoll::IN