[pulseaudio-commits] src/pulsecore
David Henningsson
diwic at kemper.freedesktop.org
Mon Sep 28 06:48:15 PDT 2015
src/pulsecore/shm.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
New commits:
commit 12a93495b9cba1af6954461f4a916297831ec03b
Author: David Henningsson <david.henningsson at canonical.com>
Date: Mon Sep 28 15:41:15 2015 +0200
shm: Warn on not being able to open shm files
With the exception of when trying to clean up shm files,
it's useful to warn if opening them fails, regardless of reason.
Signed-off-by: David Henningsson <david.henningsson at canonical.com>
diff --git a/src/pulsecore/shm.c b/src/pulsecore/shm.c
index eefd7ba..d613168 100644
--- a/src/pulsecore/shm.c
+++ b/src/pulsecore/shm.c
@@ -288,7 +288,7 @@ void pa_shm_punch(pa_shm *m, size_t offset, size_t size) {
#ifdef HAVE_SHM_OPEN
-int pa_shm_attach(pa_shm *m, unsigned id, bool writable) {
+static int shm_attach(pa_shm *m, unsigned id, bool writable, bool for_cleanup) {
char fn[32];
int fd = -1;
int prot;
@@ -299,7 +299,7 @@ int pa_shm_attach(pa_shm *m, unsigned id, bool writable) {
segment_name(fn, sizeof(fn), m->id = id);
if ((fd = shm_open(fn, writable ? O_RDWR : O_RDONLY, 0)) < 0) {
- if (errno != EACCES && errno != ENOENT)
+ if ((errno != EACCES && errno != ENOENT) || !for_cleanup)
pa_log("shm_open() failed: %s", pa_cstrerror(errno));
goto fail;
}
@@ -338,6 +338,10 @@ fail:
return -1;
}
+int pa_shm_attach(pa_shm *m, unsigned id, bool writable) {
+ return shm_attach(m, id, writable, false);
+}
+
#else /* HAVE_SHM_OPEN */
int pa_shm_attach(pa_shm *m, unsigned id, bool writable) {
@@ -375,7 +379,7 @@ int pa_shm_cleanup(void) {
if (pa_atou(de->d_name + SHM_ID_LEN, &id) < 0)
continue;
- if (pa_shm_attach(&seg, id, false) < 0)
+ if (shm_attach(&seg, id, false, true) < 0)
continue;
if (seg.size < SHM_MARKER_SIZE) {
More information about the pulseaudio-commits
mailing list