Changes for version v0.3.0 - 2023-05-24

  • features
    • Added pread and pwrite
    • Added mkfifo and mkfifoat
    • Added open (not sysopen) and openat
  • improvements
    • Fcntl call to set O_CLOEXEC in open/openat/sysopen*/mkfifo* is only applied if the mode parameter DIDN'T specify O_CLOEXEC, AND if the fd is greater than $^F. Saves a useless syscall to set the value twice when manually specified during opens.
  • tests
    • pread and pwrite tests added
    • mkfifo, mktemp and mkstemp tests added
    • mkfifoat tests added
    • open and openat tests added
  • documentation
    • added POD (minimal) for new features
    • Fixed typos and grammar errors
  • other
    • Code split across multiple files.
    • Conditional building to better handle missing functions on NetBSD (sendfile) and earily versions of macOS (mkfifoat)


Faster accept, socket, listen with file descriptors, not handles
Mixed file handle/descriptor functions


in lib/IO/FD/