The "mainloop_barrier" in copy_async_thread() is unnecessary, since
the g_simple_async_result_complete_in_idle() will be queued after all
of the g_io_scheduler_job_send_to_mainloop_async()s, and sources with
the same priority will run in the order in which they were queued.
https://bugzilla.gnome.org/show_bug.cgi?id=661767
return FALSE;
}
-static gboolean
-mainloop_barrier (gpointer user_data)
-{
- /* Does nothing, but ensures all queued idles before
- this are run */
- return FALSE;
-}
-
-
static void
copy_async_progress_callback (goffset current_num_bytes,
goffset total_num_bytes,
data,
&error);
- /* Ensure all progress callbacks are done running in main thread */
- if (data->progress_cb != NULL)
- g_io_scheduler_job_send_to_mainloop (job,
- mainloop_barrier,
- NULL, NULL);
-
if (!result)
g_simple_async_result_take_error (res, error);