Method: IO#autoclose=
- Defined in:
- io.c
#autoclose=(bool) ⇒ Boolean
Sets auto-close flag.
f = File.open(File::NULL)
IO.for_fd(f.fileno).close
f.gets # raises Errno::EBADF
f = File.open(File::NULL)
g = IO.for_fd(f.fileno)
g.autoclose = false
g.close
f.gets # won't cause Errno::EBADF
9738 9739 9740 9741 9742 9743 9744 9745 9746 9747 9748 |
# File 'io.c', line 9738 static VALUE rb_io_set_autoclose(VALUE io, VALUE autoclose) { rb_io_t *fptr; GetOpenFile(io, fptr); if (!RTEST(autoclose)) fptr->mode |= FMODE_EXTERNAL; else fptr->mode &= ~FMODE_EXTERNAL; return autoclose; } |