shm: don't complain about missing SHM segments
authorLennart Poettering <lennart@poettering.net>
Fri, 19 Feb 2010 02:29:36 +0000 (03:29 +0100)
committerLennart Poettering <lennart@poettering.net>
Sun, 21 Feb 2010 16:48:17 +0000 (17:48 +0100)
If two clients try to cleanup the SHM directory at the same time, they
might want to open and then delete the same segment at the same time, in
which case one client might win, the other one lose. In this case, don't
warn about ENOENT.

src/pulsecore/shm.c

index 29849d5..5d5d85a 100644 (file)
@@ -290,7 +290,7 @@ int pa_shm_attach_ro(pa_shm *m, unsigned id) {
     segment_name(fn, sizeof(fn), m->id = id);
 
     if ((fd = shm_open(fn, O_RDONLY, 0)) < 0) {
-        if (errno != EACCES)
+        if (errno != EACCES && errno != ENOENT)
             pa_log("shm_open() failed: %s", pa_cstrerror(errno));
         goto fail;
     }