Skip to content

x/sys/unix: add support for vectorized ("scatter/gather") IO syscalls on Darwin #64710

Closed
@mschoenlaub

Description

@mschoenlaub

Proposal Details

The following syscalls could be supported on modern OSX versions (Darwin 11 and newer)

  • unix.Readv(fd int, iovs [][]byte) (n int, err error)
  • unix.Preadv(fd int, iovs [][]byte, offset int64) (n int, err error)
  • unix.Writev(fd int, iovs [][]byte) (n int, err error)
  • unix.Pwritev(fd int, iovs [][]byte, offset int64) (n int, err error)

I think https://go-review.googlesource.com/c/sys/+/548795 contains everything needed to implement this on Darwin.
In cases where the version is too old, the public functions in unix would simply return ENOSYS instead of running into a dyld error due to trying to jump to a function that doesn't exist.

Metadata

Metadata

Assignees

No one assigned

    Labels

    FixPendingIssues that have a fix which has not yet been reviewed or submitted.OS-Darwin

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions