зеркало из https://github.com/github/ruby.git
signal.c: nil for invalid signum
* signal.c (sig_signame): return nil if the argument is a valid signal number. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49801 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
ba536e4154
Коммит
76d1d5269f
|
@ -1,3 +1,8 @@
|
|||
Mon Mar 2 13:04:27 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* signal.c (sig_signame): return nil if the argument is a valid
|
||||
signal number.
|
||||
|
||||
Mon Mar 2 12:05:04 2015 Naohisa Goto <ngotogenome@gmail.com>
|
||||
|
||||
* test/net/ftp/test_ftp.rb (create_ftp_server): set SO_OOBINLINE
|
||||
|
|
1
signal.c
1
signal.c
|
@ -257,6 +257,7 @@ static VALUE
|
|||
sig_signame(VALUE recv, VALUE signo)
|
||||
{
|
||||
const char *signame = signo2signm(NUM2INT(signo));
|
||||
if (!signame) return Qnil;
|
||||
return rb_str_new_cstr(signame);
|
||||
}
|
||||
|
||||
|
|
|
@ -218,6 +218,15 @@ class TestSignal < Test::Unit::TestCase
|
|||
end
|
||||
|
||||
def test_signame
|
||||
Signal.list.each do |name, num|
|
||||
assert_equal(num, Signal.list[Signal.signame(num)], name)
|
||||
end
|
||||
assert_nil(Signal.signame(-1))
|
||||
signums = Signal.list.invert
|
||||
assert_nil(Signal.signame((1..1000).find {|num| !signums[num]}))
|
||||
end
|
||||
|
||||
def test_signame_delivered
|
||||
10.times do
|
||||
IO.popen([EnvUtil.rubybin, "-e", <<EOS, :err => File::NULL]) do |child|
|
||||
Signal.trap("INT") do |signo|
|
||||
|
|
Загрузка…
Ссылка в новой задаче