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. --

Reply via email to