mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-04-22 15:19:16 +02:00
timeloop-closure: Fix leaks in test
https://bugzilla.gnome.org/show_bug.cgi?id=711779
This commit is contained in:
parent
d8722441d1
commit
bac4179476
@ -123,9 +123,6 @@ input_callback (GIOChannel *source,
|
|||||||
g_io_channel_close (source);
|
g_io_channel_close (source);
|
||||||
g_io_channel_close (dest);
|
g_io_channel_close (dest);
|
||||||
|
|
||||||
g_io_channel_unref (source);
|
|
||||||
g_io_channel_unref (dest);
|
|
||||||
|
|
||||||
n_active_children--;
|
n_active_children--;
|
||||||
if (n_active_children == 0)
|
if (n_active_children == 0)
|
||||||
g_main_loop_quit (loop);
|
g_main_loop_quit (loop);
|
||||||
@ -154,8 +151,15 @@ create_child (void)
|
|||||||
|
|
||||||
source = g_io_create_watch (out_channels[0], G_IO_IN | G_IO_HUP);
|
source = g_io_create_watch (out_channels[0], G_IO_IN | G_IO_HUP);
|
||||||
g_source_set_closure (source,
|
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 */
|
||||||
{
|
{
|
||||||
@ -216,5 +220,7 @@ main (int argc, char **argv)
|
|||||||
difftimeval (&old_usage.ru_stime, &new_usage.ru_stime)) /
|
difftimeval (&old_usage.ru_stime, &new_usage.ru_stime)) /
|
||||||
(n_iters * n_children));
|
(n_iters * n_children));
|
||||||
|
|
||||||
|
g_main_loop_unref (loop);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user