Don't leak the pipes to child processes. Patch by Thiago Macieira.

* glib/gmain.c (g_main_context_init_pipe): Don't leak the
        pipes to child processes. Patch by Thiago Macieira.


svn path=/trunk/; revision=7037
This commit is contained in:
Matthias Clasen 2008-06-13 14:11:03 +00:00
parent 43eeb244ac
commit 4c78992dbf
2 changed files with 11 additions and 1 deletions

View File

@ -1,3 +1,10 @@
2008-06-13 Matthias Clasen <mclasen@redhat.com>
Bug 538119 glib's mainloop leaks a pipe to sub-processes
* glib/gmain.c (g_main_context_init_pipe): Don't leak the
pipes to child processes. Patch by Thiago Macieira.
2008-06-13 Hans Breuer <hans@breuer.org> 2008-06-13 Hans Breuer <hans@breuer.org>
* glib/gstrfuncs.c : to get the default translation target on * glib/gstrfuncs.c : to get the default translation target on

View File

@ -670,6 +670,9 @@ g_main_context_init_pipe (GMainContext *context)
g_error ("Cannot create pipe main loop wake-up: %s\n", g_error ("Cannot create pipe main loop wake-up: %s\n",
g_strerror (errno)); g_strerror (errno));
fcntl (context->wake_up_pipe[0], F_SETFD, FD_CLOEXEC);
fcntl (context->wake_up_pipe[1], F_SETFD, FD_CLOEXEC);
context->wake_up_rec.fd = context->wake_up_pipe[0]; context->wake_up_rec.fd = context->wake_up_pipe[0];
context->wake_up_rec.events = G_IO_IN; context->wake_up_rec.events = G_IO_IN;
# else # else