diff options
author | Owen Taylor <otaylor@fedoraproject.org> | 2010-01-27 14:30:35 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@fedoraproject.org> | 2010-01-27 14:30:35 +0000 |
commit | 068875fea689048802bbb1e1bc4c41c001e662b6 (patch) | |
tree | 3161687937c4fa34c3c6b4c7b8642978c37ef9b3 /metacity-dont-do-bad-stuff-on-sigterm.patch | |
parent | 0445ab37636cda6fd856912cbc26a191ca2be62c (diff) | |
download | metacity-068875fea689048802bbb1e1bc4c41c001e662b6.tar.gz metacity-068875fea689048802bbb1e1bc4c41c001e662b6.tar.xz metacity-068875fea689048802bbb1e1bc4c41c001e662b6.zip |
- Update to 2.28.1, remove 7 patches now applied upstreammetacity-2_28_1-1_fc13
Diffstat (limited to 'metacity-dont-do-bad-stuff-on-sigterm.patch')
-rw-r--r-- | metacity-dont-do-bad-stuff-on-sigterm.patch | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/metacity-dont-do-bad-stuff-on-sigterm.patch b/metacity-dont-do-bad-stuff-on-sigterm.patch deleted file mode 100644 index 7402e6c..0000000 --- a/metacity-dont-do-bad-stuff-on-sigterm.patch +++ /dev/null @@ -1,64 +0,0 @@ -diff -up metacity-2.28.0/src/core/main.c.sigterm metacity-2.28.0/src/core/main.c ---- metacity-2.28.0/src/core/main.c.sigterm 2009-11-05 14:53:40.599237201 -0500 -+++ metacity-2.28.0/src/core/main.c 2009-11-05 17:28:18.601486344 -0500 -@@ -67,6 +67,7 @@ - #include <fcntl.h> - #include <locale.h> - #include <time.h> -+#include <unistd.h> - - /** - * The exit code we'll return to our parent process when we eventually die. -@@ -368,12 +369,25 @@ meta_finalize (void) - meta_session_shutdown (); - } - -+static int sigterm_pipe_fds[2] = { -1, -1 }; -+ - static void - sigterm_handler (int signum) - { -- meta_finalize (); -+ if (sigterm_pipe_fds[1] >= 0) -+ { -+ ssize_t bytes_written; -+ bytes_written = write (sigterm_pipe_fds[1], "", 1); -+ close (sigterm_pipe_fds[1]); -+ sigterm_pipe_fds[1] = -1; -+ } -+} - -- exit (meta_exit_code); -+static gboolean -+on_sigterm (void) -+{ -+ meta_quit (META_EXIT_SUCCESS); -+ return FALSE; - } - - static guint sigchld_signal_id = 0; -@@ -421,6 +434,7 @@ main (int argc, char **argv) - "Pango", "GLib-GObject", "GThread" - }; - guint i; -+ GIOChannel *channel; - - if (!g_thread_supported ()) - g_thread_init (NULL); -@@ -443,6 +457,16 @@ main (int argc, char **argv) - g_strerror (errno)); - #endif - -+ if (pipe (sigterm_pipe_fds) != 0) -+ g_printerr ("Failed to create SIGTERM pipe: %s\n", -+ g_strerror (errno)); -+ -+ channel = g_io_channel_unix_new (sigterm_pipe_fds[0]); -+ g_io_channel_set_flags (channel, G_IO_FLAG_NONBLOCK, NULL); -+ g_io_add_watch (channel, G_IO_IN, (GIOFunc) on_sigterm, NULL); -+ g_io_channel_set_close_on_unref (channel, TRUE); -+ g_io_channel_unref (channel); -+ - act.sa_handler = &sigterm_handler; - if (sigaction (SIGTERM, &act, NULL) < 0) - g_printerr ("Failed to register SIGTERM handler: %s\n", |