diff --git a/io.c b/io.c index 99513573d7..2fe092b84e 100644 --- a/io.c +++ b/io.c @@ -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); diff --git a/test/ruby/test_io.rb b/test/ruby/test_io.rb index 0c8beb2f95..989c4c8991 100644 --- a/test/ruby/test_io.rb +++ b/test/ruby/test_io.rb @@ -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(/^#$/, r.inspect)