mirror of
https://gitlab.com/sortix/sortix.git
synced 2023-02-13 20:55:38 -05:00
3c43f71084
This change refactors the Unix socket / pipe backend to have a ring buffer containing segments, where each segment has an optional leading ancillary buffer containing control messages followed by a normal data buffer. The SCM_RIGHTS control message has been implemented which transfers file descriptors to the receiving process. File descriptors are reference counted and cycles are prevented using the following restrictions: 1) Unix sockets cannot be sent on themselves (on either end). 2) Unix sockets themselves being sent cannot be sent on. 3) Unix sockets cannot send a Unix socket being sent on. This is a compatible ABI change. |
||
---|---|---|
.. | ||
.gitignore | ||
Makefile | ||
regress.c | ||
test-fmemopen.c | ||
test-pipe-one-byte.c | ||
test-pthread-argv.c | ||
test-pthread-basic.c | ||
test-pthread-main-exit.c | ||
test-pthread-main-join.c | ||
test-pthread-once.c | ||
test-pthread-self.c | ||
test-pthread-tls.c | ||
test-signal-raise.c | ||
test-unix-socket-fd-cycle.c | ||
test-unix-socket-fd-leak.c | ||
test-unix-socket-fd-pass.c | ||
test-unix-socket-fd-trunc.c | ||
test-unix-socket-name.c | ||
test-unix-socket-shutdown.c | ||
test.h |