From 8a4aa92a5406212225b359c3d2f99f3f8f84e17e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Fri, 2 Jul 2021 17:18:51 +0200 Subject: [PATCH] context: Move the signal handling and dir management to user Signals and changing current directory is a process global action, thus isn't that suitable for a library. Thus, move that responsibility to gnome-shell. Part-of: --- src/core/meta-context.c | 47 ----------------------------------------- 1 file changed, 47 deletions(-) diff --git a/src/core/meta-context.c b/src/core/meta-context.c index 291cdbd32..7bb0e5f46 100644 --- a/src/core/meta-context.c +++ b/src/core/meta-context.c @@ -22,7 +22,6 @@ #include "core/meta-context-private.h" -#include #include #include "backends/meta-backend-private.h" @@ -277,49 +276,6 @@ meta_context_configure (MetaContext *context, return TRUE; } -static gboolean -on_sigterm (gpointer user_data) -{ - MetaContext *context = META_CONTEXT (user_data); - - meta_context_terminate (context); - - return G_SOURCE_REMOVE; -} - -static void -init_signal_handlers (MetaContext *context) -{ - struct sigaction act = { 0 }; - sigset_t empty_mask; - - sigemptyset (&empty_mask); - act.sa_handler = SIG_IGN; - act.sa_mask = empty_mask; - act.sa_flags = 0; - if (sigaction (SIGPIPE, &act, NULL) < 0) - g_warning ("Failed to register SIGPIPE handler: %s", g_strerror (errno)); -#ifdef SIGXFSZ - if (sigaction (SIGXFSZ, &act, NULL) < 0) - g_warning ("Failed to register SIGXFSZ handler: %s", g_strerror (errno)); -#endif - - g_unix_signal_add (SIGTERM, on_sigterm, context); -} - -static void -change_to_home_directory (void) -{ - const char *home_dir; - - home_dir = g_get_home_dir (); - if (!home_dir) - return; - - if (chdir (home_dir) < 0) - g_warning ("Could not change to home directory %s", home_dir); -} - static const char * compositor_type_to_description (MetaCompositorType compositor_type) { @@ -375,9 +331,6 @@ meta_context_setup (MetaContext *context, } meta_init_debug_utils (); - init_signal_handlers (context); - - change_to_home_directory (); compositor_type = meta_context_get_compositor_type (context); g_message ("Running %s (using mutter %s) as a %s",