gst/gst.c: use _exit() instead of exit() in our forked child; this ensures that none...
authorThomas Vander Stichele <thomas@apestaart.org>
Sat, 10 Jun 2006 11:47:42 +0000 (11:47 +0000)
committerThomas Vander Stichele <thomas@apestaart.org>
Sat, 10 Jun 2006 11:47:42 +0000 (11:47 +0000)
Original commit message from CVS:
* gst/gst.c: (init_post):
use _exit() instead of exit() in our forked child; this ensures
that none of the registered exit handlers from whatever is using
GStreamer get executed.  This fixes gnome-mixer-applet failing
to load, because ORBit would shut down.
Spotted by: Edward Hervey  <edward@fluendo.com>
Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
Fixes #344474

ChangeLog
gst/gst.c

index 24c09aa..4888c1a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
+
+       * gst/gst.c: (init_post):
+         use _exit() instead of exit() in our forked child; this ensures
+         that none of the registered exit handlers from whatever is using
+         GStreamer get executed.  This fixes gnome-mixer-applet failing
+         to load, because ORBit would shut down.
+         Spotted by: Edward Hervey  <edward@fluendo.com>
+         Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
+         Fixes #344474
+
 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
 
        * configure.ac:
index 8358430..dcebcfb 100644 (file)
--- a/gst/gst.c
+++ b/gst/gst.c
@@ -695,7 +695,9 @@ init_post (void)
       _gst_registry_remove_cache_plugins (default_registry);
 
 #ifdef HAVE_FORK
-      exit (0);
+      /* need to use _exit, so that any exit handlers registered don't
+       * bring down the main program */
+      _exit (0);
     } else {
       /* parent */
       int status;