diff --git a/ChangeLog b/ChangeLog index 208cd07004..d3064bbef2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +Wed Aug 31 00:04:38 2011 NAKAMURA Usaku + + * ext/-test-/old_thread_select/old_thread_select.c (old_thread_select): + typo. + + * test/-ext-/old_thread_select/test_old_thread_select.rb + (TestOldThreadSelect#test_old_select_signal_safe): use SIGINT instead + of SIGUSR1 because the former is general and the latter is platform + dependent. + Tue Aug 30 23:59:36 2011 NAKAMURA Usaku * win32/win32.c, include/ruby/intern.h (rb_w32_fd_copy): implement diff --git a/ext/-test-/old_thread_select/old_thread_select.c b/ext/-test-/old_thread_select/old_thread_select.c index 0c9cab58fd..881cb7db9f 100644 --- a/ext/-test-/old_thread_select/old_thread_select.c +++ b/ext/-test-/old_thread_select/old_thread_select.c @@ -41,7 +41,7 @@ old_thread_select(VALUE klass, VALUE r, VALUE w, VALUE e, VALUE timeout) } rp = array2fdset(&rfds, r, &max); wp = array2fdset(&wfds, w, &max); - ep = array2fdset(&efds, w, &max); + ep = array2fdset(&efds, e, &max); rc = rb_thread_select(max, rp, wp, ep, tvp); if (rc == -1) rb_sys_fail("rb_wait_for_single_fd"); diff --git a/test/-ext-/old_thread_select/test_old_thread_select.rb b/test/-ext-/old_thread_select/test_old_thread_select.rb index 886ee70cfa..d965724c83 100644 --- a/test/-ext-/old_thread_select/test_old_thread_select.rb +++ b/test/-ext-/old_thread_select/test_old_thread_select.rb @@ -41,12 +41,12 @@ class TestOldThreadSelect < Test::Unit::TestCase def test_old_select_signal_safe return unless Process.respond_to?(:kill) - usr1 = false - trap(:USR1) { usr1 = true } + received = false + trap(:INT) { received = true } main = Thread.current thr = Thread.new do Thread.pass until main.stop? - Process.kill(:USR1, $$) + Process.kill(:INT, $$) true end @@ -62,8 +62,8 @@ class TestOldThreadSelect < Test::Unit::TestCase assert diff >= 1.0, "interrupted or short wait" assert_equal 0, rc assert_equal true, thr.value - assert usr1, "USR1 not received" + assert received, "SIGINT not received" ensure - trap(:USR1, "DEFAULT") + trap(:INT, "DEFAULT") end end