aboutsummaryrefslogtreecommitdiff
path: root/src/codegen
diff options
context:
space:
mode:
authorlithdew <kenta@lithdew.net>2021-05-12 22:43:34 +0900
committerKenta Iwasaki <kenta@lithdew.net>2021-06-01 18:22:57 +0900
commit3600508fe18ecc61ea889a65127a2641a76c2933 (patch)
treedcb1d00874c9abe2b465055dffba9c2cca69e896 /src/codegen
parentd496400cff8b025dea262a9544e1b20482233089 (diff)
downloadzig-3600508fe18ecc61ea889a65127a2641a76c2933.tar.gz
zig-3600508fe18ecc61ea889a65127a2641a76c2933.zip
x/io, x/os: async i/o reactor, cross-platform socket syscalls and bits
Cross-platform versions of msghdr, sendmsg, recvmsg, linger, and iovec were provided based on findings from glibc, musl, and Microsoft's documentation. Implemented initial Reactor interface for epoll (linux) which wraps around I/O reactor subsystems such as epoll, kqueue, select, etc. across different platforms. The Reactor interface allows for driving async I/O in Zig applications. A test was added for the Reactor interface to drive a TCP client/listener socket pair. A greatest-common-subset of possible socket initialization flags (close socket on exec syscalls, initialize socket to be non-blocking) were implemented. A test was added for using sendmsg/recvmsg syscalls across different platforms for a TCP client/listener socket pair.
Diffstat (limited to 'src/codegen')
0 files changed, 0 insertions, 0 deletions