diff options
author | Eric Wong <normalperson@yhbt.net> | 2013-04-29 18:59:48 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2013-04-29 21:01:01 +0000 |
commit | 8575d11394a84cef2a8a8bddb21ec79e8a841a59 (patch) | |
tree | c409c04e6a6fd5de8e1c9cca072c146b43349c08 | |
parent | 047f284170072de8d8caf0fb6e79019eb453b58a (diff) | |
download | sleepy_penguin-8575d11394a84cef2a8a8bddb21ec79e8a841a59.tar.gz |
It's good to cleanup after ourselves.
-rw-r--r-- | test/test_kqueue.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/test_kqueue.rb b/test/test_kqueue.rb index 408783e..fb53a1b 100644 --- a/test/test_kqueue.rb +++ b/test/test_kqueue.rb @@ -34,6 +34,7 @@ class TestKqueue < Test::Unit::TestCase end assert_equal 0, events.size assert_equal 0, n + thr.join # synchronous add events = [] @@ -52,4 +53,22 @@ class TestKqueue < Test::Unit::TestCase rd.close if rd wr.close if wr end + + def test_usable_after_fork + kq = Kqueue.new + pid = fork do + begin + ok = false + assert_equal(0, kq.kevent(nil, 1, 0.1) { exit!(false) }) + ok = true + ensure + exit!(ok) + end + end + assert_equal(0, kq.kevent(nil, 1, 0.1) { exit!(false) }) + _, status = Process.waitpid2(pid) + assert status.success?, status.inspect + ensure + kq.close + end end if defined?(SleepyPenguin::Kqueue) |