/pidgin/main: c1da9082287f: Fix a crash in case of Ctrl+C while ...
Tomasz Wasilczyk
tomkiewicz at cpw.pidgin.im
Wed Aug 14 05:22:57 EDT 2013
Changeset: c1da9082287f90d6129a0a6fcf42863b87dc4d0e
Author: Tomasz Wasilczyk <tomkiewicz at cpw.pidgin.im>
Date: 2013-08-14 11:22 +0200
Branch: default
URL: https://hg.pidgin.im/pidgin/main/rev/c1da9082287f
Description:
Fix a crash in case of Ctrl+C while booting (it's fork related)
diffstat:
pidgin/gtkmain.c | 12 ++++++++++--
pidgin/gtksound.c | 1 +
2 files changed, 11 insertions(+), 2 deletions(-)
diffs (40 lines):
diff --git a/pidgin/gtkmain.c b/pidgin/gtkmain.c
--- a/pidgin/gtkmain.c
+++ b/pidgin/gtkmain.c
@@ -88,6 +88,7 @@ static const int catch_sig_list[] = {
SIGINT,
SIGTERM,
SIGQUIT,
+ SIGCHLD,
-1
};
@@ -182,8 +183,15 @@ mainloop_sighandler(GIOChannel *source,
return FALSE;
}
- purple_debug_warning("sighandler", "Caught signal %d\n", sig);
- purple_core_quit();
+ switch (sig) {
+ case SIGCHLD:
+ /* Restore signal catching */
+ signal(SIGCHLD, sighandler);
+ break;
+ default:
+ purple_debug_warning("sighandler", "Caught signal %d\n", sig);
+ purple_core_quit();
+ }
return TRUE;
}
diff --git a/pidgin/gtksound.c b/pidgin/gtksound.c
--- a/pidgin/gtksound.c
+++ b/pidgin/gtksound.c
@@ -319,6 +319,7 @@ pidgin_sound_init(void)
#ifdef USE_GSTREAMER
purple_debug_info("sound", "Initializing sound output drivers.\n");
+ gst_registry_fork_set_enabled(FALSE);
if ((gst_init_failed = !gst_init_check(NULL, NULL, &error))) {
purple_notify_error(NULL, _("GStreamer Failure"),
_("GStreamer failed to initialize."),
More information about the Commits
mailing list