Example #1
0
static void
job_destroy (gpointer data)
{
  GIOSchedulerJob *job = data;

  if (job->destroy_notify)
    job->destroy_notify (job->data);

  remove_active_job (job);
  g_io_job_free (job);
}
Example #2
0
static gboolean
run_job_at_idle (gpointer data)
{
  GIOSchedulerJob *job = data;
  gboolean result;

  if (job->cancellable)
    g_cancellable_push_current (job->cancellable);
  
  result = job->job_func (job, job->cancellable, job->data);
  
  if (job->cancellable)
    g_cancellable_pop_current (job->cancellable);

  return result;
}
Example #3
0
static void
io_job_thread (GTask         *task,
               gpointer       source_object,
               gpointer       task_data,
               GCancellable  *cancellable)
{
  GIOSchedulerJob *job = task_data;
  gboolean result;

  if (job->cancellable)
    g_cancellable_push_current (job->cancellable);

  do 
    {
      result = job->job_func (job, job->cancellable, job->data);
    }
  while (result);

  if (job->cancellable)
    g_cancellable_pop_current (job->cancellable);
}
Example #4
0
static void
io_job_thread (gpointer data,
	       gpointer user_data)
{
  GIOSchedulerJob *job = data;
  gboolean result;

  if (job->cancellable)
    g_cancellable_push_current (job->cancellable);

  do 
    {
      result = job->job_func (job, job->cancellable, job->data);
    }
  while (result);

  if (job->cancellable)
    g_cancellable_pop_current (job->cancellable);

  job_destroy (job);
}