summaryrefslogtreecommitdiff
path: root/src/modules/module-pipe-sink.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/module-pipe-sink.c')
-rw-r--r--src/modules/module-pipe-sink.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/modules/module-pipe-sink.c b/src/modules/module-pipe-sink.c
index fc01206b6..5d3e1a7d6 100644
--- a/src/modules/module-pipe-sink.c
+++ b/src/modules/module-pipe-sink.c
@@ -466,9 +466,15 @@ int pa__init(pa_module *m) {
pa_log("mkfifo('%s'): %s", u->filename, pa_cstrerror(errno));
goto fail;
}
- } else
+ } else {
u->do_unlink_fifo = true;
+ /* Our umask is 077, so the pipe won't be created with the requested
+ * permissions. Let's fix the permissions with chmod(). */
+ if (chmod(u->filename, 0666) < 0)
+ pa_log_warn("chomd('%s'): %s", u->filename, pa_cstrerror(errno));
+ }
+
if ((u->fd = pa_open_cloexec(u->filename, O_RDWR, 0)) < 0) {
pa_log("open('%s'): %s", u->filename, pa_cstrerror(errno));
goto fail;