X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=socket.c;h=2a19e97b7bc7957af8fb9e5df798c08f840a9eca;hp=afa001f20f3c0b306f9847c6f124f77cde983613;hb=8cb45bf8df4d1fab4386bce349a1437443a9b0eb;hpb=27b14a2297d296f7a2c47dd20d7e0c6fb8acd20c diff --git a/socket.c b/socket.c index afa001f20..2a19e97b7 100644 --- a/socket.c +++ b/socket.c @@ -267,7 +267,9 @@ static int socket_open_fds(Socket *s) { struct stat st; assert(p->type == SOCKET_FIFO); - if (mkfifo(p->path, 0666 & ~s->exec_context.umask) < 0 && errno != EEXIST) { + mkdir_parents(p->path, s->directory_mode); + + if (mkfifo(p->path, s->socket_mode) < 0 && errno != EEXIST) { r = -errno; goto rollback; }