os2 process implementation for linux

This commit is contained in:
jason
2024-07-23 16:50:00 -04:00
parent fc2e31fcd0
commit 3c7d1f35db
4 changed files with 561 additions and 52 deletions
+7 -2
View File
@@ -5,13 +5,18 @@ import "core:sys/linux"
_pipe :: proc() -> (r, w: ^File, err: Error) {
fds: [2]linux.Fd
errno := linux.pipe2(&fds, {})
errno := linux.pipe2(&fds, {.CLOEXEC})
if errno != .NONE {
return nil, nil,_get_platform_error(errno)
}
r = _new_file(uintptr(fds[0]))
w = _new_file(uintptr(fds[1]))
r_impl := (^File_Impl)(r.impl)
r_impl.kind = .Pipe
w_impl := (^File_Impl)(w.impl)
w_impl.kind = .Pipe
return
}