[pulseaudio-discuss] [PATCH] shm: Warn on not being able to open shm files
David Henningsson
david.henningsson at canonical.com
Mon Sep 28 06:43:24 PDT 2015
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>
---
src/pulsecore/shm.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
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) {
--
1.9.1
More information about the pulseaudio-discuss
mailing list