fcntl(cmd, arg = 0) -> Integer
[permalink][rdoc][edit]-
IOに対してシステムコール fcntl を実行します。機能の詳細は fcntl(2) を参照してください。 fcntl(2) が返した整数を返します。
- [PARAM] cmd:
- IO に対するコマンドを、添付ライブラリ fcntl が提供している定数で指定します。
- [PARAM] arg:
- cmd に対する引数を整数、文字列、booleanのいずれかで指定します。整数の時にはその値を fcntl(2) に渡します。文字列の場合には Array#pack した構造体だとみなして渡します。 arg が nil か false の場合には 0を、true の場合には 1 を渡します。
- [EXCEPTION] Errno::EXXX:
- fcntl の実行に失敗した場合に発生します。
- [EXCEPTION] IOError:
- 既に close されている場合に発生します。
require "fcntl" IO.write("testfile", "abcde") # ファイル状態フラグを読み出す File.open("testfile") do |f| f.fcntl(Fcntl::F_GETFL, 0) # => 0 f.fcntl(Fcntl::F_SETFL, Fcntl::O_NONBLOCK) # => 0 f.fcntl(Fcntl::F_GETFL, 0) # => 4 end