mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* 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. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33130 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
790e8b5836
commit
34e65bee79
3 changed files with 16 additions and 6 deletions
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
||||||
|
Wed Aug 31 00:04:38 2011 NAKAMURA Usaku <usa@ruby-lang.org>
|
||||||
|
|
||||||
|
* 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 <usa@ruby-lang.org>
|
Tue Aug 30 23:59:36 2011 NAKAMURA Usaku <usa@ruby-lang.org>
|
||||||
|
|
||||||
* win32/win32.c, include/ruby/intern.h (rb_w32_fd_copy): implement
|
* win32/win32.c, include/ruby/intern.h (rb_w32_fd_copy): implement
|
||||||
|
|
|
@ -41,7 +41,7 @@ old_thread_select(VALUE klass, VALUE r, VALUE w, VALUE e, VALUE timeout)
|
||||||
}
|
}
|
||||||
rp = array2fdset(&rfds, r, &max);
|
rp = array2fdset(&rfds, r, &max);
|
||||||
wp = array2fdset(&wfds, w, &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);
|
rc = rb_thread_select(max, rp, wp, ep, tvp);
|
||||||
if (rc == -1)
|
if (rc == -1)
|
||||||
rb_sys_fail("rb_wait_for_single_fd");
|
rb_sys_fail("rb_wait_for_single_fd");
|
||||||
|
|
|
@ -41,12 +41,12 @@ class TestOldThreadSelect < Test::Unit::TestCase
|
||||||
|
|
||||||
def test_old_select_signal_safe
|
def test_old_select_signal_safe
|
||||||
return unless Process.respond_to?(:kill)
|
return unless Process.respond_to?(:kill)
|
||||||
usr1 = false
|
received = false
|
||||||
trap(:USR1) { usr1 = true }
|
trap(:INT) { received = true }
|
||||||
main = Thread.current
|
main = Thread.current
|
||||||
thr = Thread.new do
|
thr = Thread.new do
|
||||||
Thread.pass until main.stop?
|
Thread.pass until main.stop?
|
||||||
Process.kill(:USR1, $$)
|
Process.kill(:INT, $$)
|
||||||
true
|
true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -62,8 +62,8 @@ class TestOldThreadSelect < Test::Unit::TestCase
|
||||||
assert diff >= 1.0, "interrupted or short wait"
|
assert diff >= 1.0, "interrupted or short wait"
|
||||||
assert_equal 0, rc
|
assert_equal 0, rc
|
||||||
assert_equal true, thr.value
|
assert_equal true, thr.value
|
||||||
assert usr1, "USR1 not received"
|
assert received, "SIGINT not received"
|
||||||
ensure
|
ensure
|
||||||
trap(:USR1, "DEFAULT")
|
trap(:INT, "DEFAULT")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Reference in a new issue