pipe_linux.odin 319 B

1234567891011121314151617
  1. //+private
  2. package os2
  3. import "core:sys/linux"
  4. _pipe :: proc() -> (r, w: ^File, err: Error) {
  5. fds: [2]linux.Fd
  6. errno := linux.pipe2(&fds, {.CLOEXEC})
  7. if errno != .NONE {
  8. return nil, nil,_get_platform_error(errno)
  9. }
  10. r = _new_file(uintptr(fds[0])) or_return
  11. w = _new_file(uintptr(fds[1])) or_return
  12. return
  13. }