Fcntl loads the constants defined in the system’s <fcntl.h> C header file, and used with both the fcntl(2) and open(2) POSIX system calls.

To perform a fcntl(2) operation, use IO::fcntl.

To perform an open(2) operation, use IO::sysopen.

The set of operations and constants available depends upon specific operating system. Some values listed below may not be supported on your system.

See your fcntl(2) man page for complete details.

Open /tmp/tempfile as a write-only file that is created if it doesn’t exist:

require 'fcntl'

fd = IO.sysopen('/tmp/tempfile',
                Fcntl::O_WRONLY | Fcntl::O_EXCL | Fcntl::O_CREAT)
f = IO.open(fd)
f.syswrite("TEMP DATA")

Get the flags on file s:

m = s.fcntl(Fcntl::F_GETFL, 0)

Set the non-blocking flag on f in addition to the existing flags in m.

f.fcntl(Fcntl::F_SETFL, Fcntl::O_NONBLOCK|m)


O_ACCMODE = Document-const

O_WRONLY = Document-const

O_RDWR = Document-const

O_RDONLY = Document-const

O_NDELAY = Document-const

O_NONBLOCK = Document-const

O_APPEND = Document-const

O_TRUNC = Document-const

O_NOCTTY = Document-const

O_EXCL = Document-const

O_CREAT = Document-const

F_WRLCK = Document-const

F_UNLCK = Document-const

F_RDLCK = Document-const

FD_CLOEXEC = Document-const

F_SETLKW = Document-const

F_SETLK = Document-const

F_SETFL = Document-const

F_GETFL = Document-const

F_SETFD = Document-const

F_GETLK = Document-const

F_GETFD = Document-const

F_DUPFD = Document-const


Show files where this module is defined (1 file)
Register or log in to add new notes.