gst/gst.c: use _exit() instead of exit() in our forked child; this ensures that none of the registered exit handlers ...

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
This commit is contained in:
Thomas Vander Stichele 2006-06-10 11:47:42 +00:00
parent 67759aafe9
commit 789d5bb4e0
2 changed files with 14 additions and 1 deletions

View file

@ -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:

View file

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