[evolution] Bug 691133 - Evolution creates 'highlight' zombies
- From: Matthew Barnes <mbarnes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution] Bug 691133 - Evolution creates 'highlight' zombies
- Date: Fri, 4 Jan 2013 15:45:28 +0000 (UTC)
commit 7f93dcab4da166aed3a0ad8e8d3b997b3a3b8b94
Author: Matthew Barnes <mbarnes redhat com>
Date: Fri Jan 4 10:37:29 2013 -0500
Bug 691133 - Evolution creates 'highlight' zombies
Evolution spawns the 'highlight' program with these flags:
G_SPAWN_SEARCH_PATH
G_SPAWN_DO_NOT_REAP_CHILD
G_SPAWN_SEARCH_PATH is not needed because configure already determines
the absolute path to the 'highlight' program. G_SPAWN_DO_NOT_REAP_CHILD
results in zombie 'highlight' processes. Remove both flags.
.../e-mail-formatter-text-highlight.c | 21 ++++++++++++-------
1 files changed, 13 insertions(+), 8 deletions(-)
---
diff --git a/modules/text-highlight/e-mail-formatter-text-highlight.c b/modules/text-highlight/e-mail-formatter-text-highlight.c
index dd5ed1d..d180d60 100644
--- a/modules/text-highlight/e-mail-formatter-text-highlight.c
+++ b/modules/text-highlight/e-mail-formatter-text-highlight.c
@@ -175,14 +175,14 @@ emfe_text_highlight_format (EMailFormatterExtension *extension,
} else if (context->mode == E_MAIL_FORMATTER_MODE_RAW) {
gint pipe_stdin, pipe_stdout;
GPid pid;
- CamelStream *read, *write, *utf8;
CamelDataWrapper *dw;
- gchar *font_family, *font_size, *syntax, *tmp;
- GByteArray *ba;
+ gchar *font_family, *font_size, *syntax;
gboolean use_custom_font;
EShell *shell;
EShellSettings *settings;
PangoFontDescription *fd;
+ gboolean success;
+
const gchar *argv[] = { HIGHLIGHT_COMMAND,
NULL, /* --font= */
NULL, /* --font-size= */
@@ -244,11 +244,16 @@ emfe_text_highlight_format (EMailFormatterExtension *extension,
argv[3] = g_strdup_printf ("--syntax=%s", syntax);
g_free (syntax);
- if (g_spawn_async_with_pipes (
- NULL, (gchar **) argv, NULL,
- G_SPAWN_SEARCH_PATH |
- G_SPAWN_DO_NOT_REAP_CHILD,
- NULL, NULL, &pid, &pipe_stdin, &pipe_stdout, NULL, NULL)) {
+ success = g_spawn_async_with_pipes (
+ NULL, (gchar **) argv, NULL, 0, NULL, NULL,
+ &pid, &pipe_stdin, &pipe_stdout, NULL, NULL);
+
+ if (success) {
+ CamelStream *read;
+ CamelStream *write;
+ CamelStream *utf8;
+ GByteArray *ba;
+ gchar *tmp;
write = camel_stream_fs_new_with_fd (pipe_stdin);
read = camel_stream_fs_new_with_fd (pipe_stdout);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]