X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=socket.c;h=2a19e97b7bc7957af8fb9e5df798c08f840a9eca;hb=a9a1e00af1059a6b8c3e089238870fbf2608c087;hp=afa001f20f3c0b306f9847c6f124f77cde983613;hpb=b866264a18095d5302443ab0a95560d973ba4b10;p=elogind.git 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; }