https://bugzilla.gnome.org/show_bug.cgi?id=711779
{
g_io_channel_close (source);
g_io_channel_close (dest);
{
g_io_channel_close (source);
g_io_channel_close (dest);
-
- g_io_channel_unref (source);
- g_io_channel_unref (dest);
n_active_children--;
if (n_active_children == 0)
n_active_children--;
if (n_active_children == 0)
source = g_io_create_watch (out_channels[0], G_IO_IN | G_IO_HUP);
g_source_set_closure (source,
source = g_io_create_watch (out_channels[0], G_IO_IN | G_IO_HUP);
g_source_set_closure (source,
- g_cclosure_new (G_CALLBACK (input_callback), in_channels[1], NULL));
+ g_cclosure_new (G_CALLBACK (input_callback), in_channels[1],
+ (GClosureNotify)g_io_channel_unref));
g_source_attach (source, NULL);
g_source_attach (source, NULL);
+ g_source_unref (source);
+
+ g_io_channel_unref (in_channels[0]);
+ g_io_channel_unref (out_channels[0]);
+ g_io_channel_unref (out_channels[1]);
+
}
else if (pid == 0) /* Child */
{
}
else if (pid == 0) /* Child */
{
difftimeval (&old_usage.ru_stime, &new_usage.ru_stime)) /
(n_iters * n_children));
difftimeval (&old_usage.ru_stime, &new_usage.ru_stime)) /
(n_iters * n_children));
+ g_main_loop_unref (loop);
+