1
0
Fork 0
mirror of https://gitlab.com/sortix/sortix.git synced 2023-02-13 20:55:38 -05:00
sortix--sortix/regress
Jonas 'Sortie' Termansen 3c43f71084 Implement file descriptor passing.
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.
2021-12-31 22:24:11 +01:00
..
.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