From 48a5046b8ed0b9aa1c549f8de9849bbc7508a8f9b94b87eb5aab67cb81fc110a Mon Sep 17 00:00:00 2001 From: Scott Reeves Date: Wed, 13 Jan 2010 20:53:54 +0000 Subject: [PATCH] Accepting request 29478 from home:sreeves1:branches:multimedia:libs Copy from home:sreeves1:branches:multimedia:libs/pulseaudio via accept of submit request 29478 revision 4. Request was accepted with message: OBS-URL: https://build.opensuse.org/request/show/29478 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pulseaudio?expand=0&rev=36 --- disabled-start.diff | 23 ++++++++- ...cket738-mark-shared-vars-as-volatile.patch | 50 +++++++++++++++++++ pulseaudio.changes | 8 +++ pulseaudio.spec | 6 ++- 4 files changed, 83 insertions(+), 4 deletions(-) create mode 100644 pulseaudio-ticket738-mark-shared-vars-as-volatile.patch diff --git a/disabled-start.diff b/disabled-start.diff index 276d605..e6d2b49 100644 --- a/disabled-start.diff +++ b/disabled-start.diff @@ -1,5 +1,24 @@ ---- src/daemon/start-pulseaudio-x11.in.sav 2009-06-08 00:35:57.000000000 +0200 -+++ src/daemon/start-pulseaudio-x11.in 2009-09-28 19:33:07.388014651 +0200 +Index: src/daemon/start-pulseaudio-x11.in +=================================================================== +--- src/daemon/start-pulseaudio-x11.in.orig ++++ src/daemon/start-pulseaudio-x11.in +@@ -19,6 +19,12 @@ + + set -e + ++. /etc/sysconfig/sound ++ ++if [ x"$PULSEAUDIO_ENABLE" = x"no" ] ; then ++ exit 1 ++fi ++ + [ -z "$PULSE_SERVER" ] + + @PA_BINARY@ --start "$@" +Index: src/daemon/start-pulseaudio-kde.in +=================================================================== +--- src/daemon/start-pulseaudio-kde.in.orig ++++ src/daemon/start-pulseaudio-kde.in @@ -19,6 +19,12 @@ set -e diff --git a/pulseaudio-ticket738-mark-shared-vars-as-volatile.patch b/pulseaudio-ticket738-mark-shared-vars-as-volatile.patch new file mode 100644 index 0000000..0ad439d --- /dev/null +++ b/pulseaudio-ticket738-mark-shared-vars-as-volatile.patch @@ -0,0 +1,50 @@ +commit 978d33b609969c3b9bbbd759e0f11aaf856c80cf +Author: Arun Raghavan +Date: Sun Dec 6 12:20:53 2009 +0530 + + Mark shared variables as volatile + + 'n_waiting' and 'n_waiting_for_accept' may be accessed from mulitple + threads, and thus need to be marked as volatile to suppres certain + compiler optimisations. All uses are protected by a mutex, so we don't + need to worry about cache issues (added documentation for this as well). + + This addresses bug #738. + +diff --git a/src/pulse/thread-mainloop.c b/src/pulse/thread-mainloop.c +index a2b98ce..14ed926 100644 +--- a/src/pulse/thread-mainloop.c ++++ b/src/pulse/thread-mainloop.c +@@ -51,7 +51,7 @@ + + struct pa_threaded_mainloop { + pa_mainloop *real_mainloop; +- int n_waiting, n_waiting_for_accept; ++ volatile int n_waiting, n_waiting_for_accept; + + pa_thread* thread; + pa_mutex* mutex; +@@ -185,6 +185,7 @@ void pa_threaded_mainloop_unlock(pa_threaded_mainloop *m) { + pa_mutex_unlock(m->mutex); + } + ++/* Called with the lock taken */ + void pa_threaded_mainloop_signal(pa_threaded_mainloop *m, int wait_for_accept) { + pa_assert(m); + +@@ -198,6 +199,7 @@ void pa_threaded_mainloop_signal(pa_threaded_mainloop *m, int wait_for_accept) { + } + } + ++/* Called with the lock taken */ + void pa_threaded_mainloop_wait(pa_threaded_mainloop *m) { + pa_assert(m); + +@@ -212,6 +214,7 @@ void pa_threaded_mainloop_wait(pa_threaded_mainloop *m) { + m->n_waiting --; + } + ++/* Called with the lock taken */ + void pa_threaded_mainloop_accept(pa_threaded_mainloop *m) { + pa_assert(m); + diff --git a/pulseaudio.changes b/pulseaudio.changes index 26e9ef9..66c6173 100644 --- a/pulseaudio.changes +++ b/pulseaudio.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Jan 11 05:51:08 UTC 2010 - sreeves@novell.com + +- Add pulseaudio-ticket738-mark-shared-vars-as-volatile.patch +- Move start-pulseaudio-kde to pulseaudio-module-x11. Match upstream +- Modify disabled-start.diff + Add check for pulseaudio_enable in start-pulseaudio-kde + ------------------------------------------------------------------- Fri Dec 18 12:59:52 CET 2009 - jengelh@medozas.de diff --git a/pulseaudio.spec b/pulseaudio.spec index 17cb1e6..f012770 100644 --- a/pulseaudio.spec +++ b/pulseaudio.spec @@ -30,6 +30,7 @@ Source1: default.pa-for-gdm Source2: setup-pulseaudio Source99: baselibs.conf Patch1: disabled-start.diff +Patch2: pulseaudio-ticket738-mark-shared-vars-as-volatile.patch Url: http://pulseaudio.org BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: alsa-devel @@ -240,6 +241,7 @@ This package contains GDM integration hooks for the PulseAudio sound server. %prep %setup -q -T -b0 %patch1 +%patch2 -p1 %build export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" @@ -301,10 +303,8 @@ groupadd -r pulse-access &>/dev/null || : %config(noreplace) %{_sysconfdir}/pulse/default.pa %config(noreplace) %{_sysconfdir}/pulse/system.pa %config(noreplace) %{_sysconfdir}/dbus-1/system.d/pulseaudio-system.conf -%{_sysconfdir}/xdg/autostart/pulseaudio-kde.desktop %{_bindir}/pulseaudio %{_bindir}/setup-pulseaudio -%{_bindir}/start-pulseaudio-kde %dir %{_libdir}/pulse-%{drvver}/ %dir %{_libdir}/pulse-%{drvver}/modules/ %{_libdir}/libpulsecore-%{drvver}.so @@ -395,7 +395,9 @@ groupadd -r pulse-access &>/dev/null || : %files module-x11 %defattr(-,root,root) %{_sysconfdir}/xdg/autostart/pulseaudio.desktop +%{_sysconfdir}/xdg/autostart/pulseaudio-kde.desktop %{_bindir}/start-pulseaudio-x11 +%{_bindir}/start-pulseaudio-kde %{_libdir}/pulse-%{drvver}/modules/module-x11-bell.so %{_libdir}/pulse-%{drvver}/modules/module-x11-publish.so %{_libdir}/pulse-%{drvver}/modules/module-x11-xsmp.so