1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Copy IO#timeout on IO#dup. (#6546)

This commit is contained in:
Samuel Williams 2022-10-15 01:45:51 +13:00 committed by GitHub
parent 7b7e5153e8
commit d416205341
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
Notes: git 2022-10-14 21:46:20 +09:00
Merged-By: ioquatix <samuel@codeotaku.com>
2 changed files with 9 additions and 0 deletions

1
io.c
View file

@ -8407,6 +8407,7 @@ rb_io_init_copy(VALUE dest, VALUE io)
fptr->encs = orig->encs;
fptr->pid = orig->pid;
fptr->lineno = orig->lineno;
fptr->timeout = orig->timeout;
if (!NIL_P(orig->pathv)) fptr->pathv = orig->pathv;
fptr_copy_finalizer(fptr, orig);

View file

@ -1441,6 +1441,14 @@ class TestIO < Test::Unit::TestCase
End
end
def test_dup_timeout
with_pipe do |r, w|
r.timeout = 0.1
r2 = r.dup
assert_equal(0.1, r2.timeout)
end
end
def test_inspect
with_pipe do |r, w|
assert_match(/^#<IO:fd \d+>$/, r.inspect)