mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-24 14:36:13 +01: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
@ -122,9 +122,6 @@ input_callback (GIOChannel *source,
|
||||
{
|
||||
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)
|
||||
@ -154,8 +151,15 @@ create_child (void)
|
||||
|
||||
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_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 */
|
||||
{
|
||||
@ -216,5 +220,7 @@ main (int argc, char **argv)
|
||||
difftimeval (&old_usage.ru_stime, &new_usage.ru_stime)) /
|
||||
(n_iters * n_children));
|
||||
|
||||
g_main_loop_unref (loop);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user