Description
As of GLib 2.36, GIOScheduler is deprecated in favor of
GThreadPool and GTask.
Schedules asynchronous I/O operations. GIOScheduler integrates
into the main event loop (GMainLoop) and uses threads.
Functions
GIOSchedulerJobFunc ()
gboolean
(*GIOSchedulerJobFunc) (GIOSchedulerJob *job,
GCancellable *cancellable,
gpointer user_data);
I/O Job function.
Long-running jobs should periodically check the cancellable
to see if they have been cancelled.
Returns
TRUE if this function should be called again to
complete the job, FALSE if the job is complete (or cancelled)
g_io_scheduler_push_job ()
void
g_io_scheduler_push_job (GIOSchedulerJobFunc job_func,
gpointer user_data,
GDestroyNotify notify,
gint io_priority,
GCancellable *cancellable);
g_io_scheduler_push_job is deprecated and should not be used in newly-written code.
use GThreadPool or g_task_run_in_thread()
Schedules the I/O job to run in another thread.
notify
will be called on user_data
after job_func
has returned,
regardless whether the job was cancelled or has run to completion.
If cancellable
is not NULL, it can be used to cancel the I/O job
by calling g_cancellable_cancel() or by calling
g_io_scheduler_cancel_all_jobs().
g_io_scheduler_cancel_all_jobs ()
void
g_io_scheduler_cancel_all_jobs (void);
g_io_scheduler_cancel_all_jobs is deprecated and should not be used in newly-written code.
You should never call this function, since you don't
know how other libraries in your program might be making use of
gioscheduler.
Cancels all cancellable I/O jobs.
A job is cancellable if a GCancellable was passed into
g_io_scheduler_push_job().
g_io_scheduler_job_send_to_mainloop ()
gboolean
g_io_scheduler_job_send_to_mainloop (GIOSchedulerJob *job,
GSourceFunc func,
gpointer user_data,
GDestroyNotify notify);
g_io_scheduler_job_send_to_mainloop is deprecated and should not be used in newly-written code.
Use g_main_context_invoke().
Used from an I/O job to send a callback to be run in the thread
that the job was started from, waiting for the result (and thus
blocking the I/O job).
Returns
The return value of func
g_io_scheduler_job_send_to_mainloop_async ()
void
g_io_scheduler_job_send_to_mainloop_async
(GIOSchedulerJob *job,
GSourceFunc func,
gpointer user_data,
GDestroyNotify notify);
g_io_scheduler_job_send_to_mainloop_async is deprecated and should not be used in newly-written code.
Use g_main_context_invoke().
Used from an I/O job to send a callback to be run asynchronously in
the thread that the job was started from. The callback will be run
when the main loop is available, but at that time the I/O job might
have finished. The return value from the callback is ignored.
Note that if you are passing the user_data
from g_io_scheduler_push_job()
on to this function you have to ensure that it is not freed before
func
is called, either by passing NULL as notify
to
g_io_scheduler_push_job() or by using refcounting for user_data
.