b2acd6c3b1
git-svn-id: svn://svn.openwrt.org/openwrt/packages@10788 3c298f89-4303-0410-b956-a3cf2f4a3e73
61 lines
1.5 KiB
Diff
61 lines
1.5 KiB
Diff
Index: pulseaudio-0.9.10/src/pulsecore/shm.c
|
|
===================================================================
|
|
--- pulseaudio-0.9.10.orig/src/pulsecore/shm.c 2008-04-11 13:28:12.000000000 +0200
|
|
+++ pulseaudio-0.9.10/src/pulsecore/shm.c 2008-04-11 13:28:13.000000000 +0200
|
|
@@ -125,7 +125,7 @@
|
|
m->do_unlink = 0;
|
|
|
|
} else {
|
|
-#ifdef HAVE_SHM_OPEN
|
|
+#ifdef HAVE_SHM_UNLINK
|
|
struct shm_marker *marker;
|
|
|
|
pa_random(&m->id, sizeof(m->id));
|
|
@@ -167,7 +167,7 @@
|
|
|
|
fail:
|
|
|
|
-#ifdef HAVE_SHM_OPEN
|
|
+#ifdef HAVE_SHM_UNLINK
|
|
if (fd >= 0) {
|
|
shm_unlink(fn);
|
|
pa_close(fd);
|
|
@@ -196,7 +196,7 @@
|
|
pa_xfree(m->ptr);
|
|
#endif
|
|
} else {
|
|
-#ifdef HAVE_SHM_OPEN
|
|
+#ifdef HAVE_SHM_UNLINK
|
|
if (munmap(m->ptr, m->size) < 0)
|
|
pa_log("munmap() failed: %s", pa_cstrerror(errno));
|
|
|
|
@@ -260,7 +260,7 @@
|
|
#endif
|
|
}
|
|
|
|
-#ifdef HAVE_SHM_OPEN
|
|
+#ifdef HAVE_SHM_UNLINK
|
|
|
|
int pa_shm_attach_ro(pa_shm *m, unsigned id) {
|
|
char fn[32];
|
|
@@ -318,7 +318,7 @@
|
|
|
|
int pa_shm_cleanup(void) {
|
|
|
|
-#ifdef HAVE_SHM_OPEN
|
|
+#ifdef HAVE_SHM_UNLINK
|
|
#ifdef SHM_PATH
|
|
DIR *d;
|
|
struct dirent *de;
|
|
@@ -371,8 +371,10 @@
|
|
/* Ok, the owner of this shms segment is dead, so, let's remove the segment */
|
|
segment_name(fn, sizeof(fn), id);
|
|
|
|
+#ifdef HAVE_SHM_UNLINK
|
|
if (shm_unlink(fn) < 0 && errno != EACCES)
|
|
pa_log_warn("Failed to remove SHM segment %s: %s\n", fn, pa_cstrerror(errno));
|
|
+#endif
|
|
}
|
|
|
|
closedir(d);
|