mirror of
https://github.com/NixOS/nix
synced 2025-06-27 08:31:16 +02:00
Connect/bind Unix domain sockets in a child process
In the child process, we can do a chdir() and avoid the problem of the path not fitting into sockaddr_un.
This commit is contained in:
parent
08cc572f89
commit
43d4d75e22
3 changed files with 69 additions and 21 deletions
|
@ -259,7 +259,7 @@ void killUser(uid_t uid);
|
|||
pid to the caller. */
|
||||
struct ProcessOptions
|
||||
{
|
||||
string errorPrefix = "error: ";
|
||||
string errorPrefix = "";
|
||||
bool dieWithParent = true;
|
||||
bool runExitHandlers = false;
|
||||
bool allowVfork = true;
|
||||
|
@ -574,6 +574,12 @@ void commonChildInit(Pipe & logPipe);
|
|||
/* Create a Unix domain socket in listen mode. */
|
||||
AutoCloseFD createUnixDomainSocket(const Path & path, mode_t mode);
|
||||
|
||||
/* Bind a Unix domain socket to a path. */
|
||||
void bind(int fd, const std::string & path);
|
||||
|
||||
/* Connect to a Unix domain socket. */
|
||||
void connect(int fd, const std::string & path);
|
||||
|
||||
|
||||
// A Rust/Python-like enumerate() iterator adapter.
|
||||
// Borrowed from http://reedbeta.com/blog/python-like-enumerate-in-cpp17.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue