packages/sound/pulseaudio/patches/002-shm_unlink.patch
olli b2acd6c3b1 [Packages] sound/pulseaudio: Update to 0.9.10, goes again further in the compilation process
git-svn-id: svn://svn.openwrt.org/openwrt/packages@10788 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-04-11 11:30:26 +00:00

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);