tags 416541 upstream
thank
Le 28.03.2007, à 22:09:54, Ludovic Rousseau a écrit:
> once you have run gcompris by user1 you can't start it by user2. But
> user1 can still use it. This is because a mutex used for the sound and
> effects is not removed when gcompris is stopped.
>
> You can easily see this by doing:
> $ ipcs > a
> $ gcompris
> $ ipcs > b
> $ diff -u a b
>
> A new semaphore should be present in b (and not in a).
The patch is very simple. Just shut down the sound subsystem before
exiting.
diff -ru gcompris-8.2.2/src/gcompris/gcompris.c
gcompris-8.2.2.new/src/gcompris/gcompris.c
--- gcompris-8.2.2/src/gcompris/gcompris.c 2006-11-11 00:12:10.000000000
+0100
+++ gcompris-8.2.2.new/src/gcompris/gcompris.c 2007-03-28 22:02:13.000000000
+0200
@@ -1042,6 +1042,7 @@
#endif
cleanup();
gtk_main_quit();
+ gc_sound_close();
/*
* Very important or GCompris crashes on exit when closed from the dialog
As a side effect the bug also prevents user2 from runing vlc and
frozzen-bubble. They are both blocked by the mutex just before playing
sound. Removing the mutex (using "ipcrm -s ide-of-the-mutex") allows vlc
and frozzen-bubble to continue.
Thanks
--
Dr. Ludovic Rousseau [EMAIL PROTECTED]
-- Normaliser Unix c'est comme pasteuriser le camembert, L.R. --