### Method

# Gio IOSchedulerJob send_to_mainloop_async

deprecated: 2.36

#### Declaration

    void
    g_io_scheduler_job_send_to_mainloop_async (
      GIOSchedulerJob* job,
      GSourceFunc func,
      gpointer user_data,
      GDestroyNotify notify
    )

#### Description

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`.

Deprecated since: 2.36

Use g_main_context_invoke().

#### Parameters

`func`

  Type: `GSourceFunc`

  A `GSourceFunc` callback that will be called in the original thread.

`user_data`

  Type: `gpointer`

  Data to pass to `func`.

  The argument can be `NULL`.
  The data is owned by the caller of the method.

`notify`

  Type: `GDestroyNotify`

  A `GDestroyNotify` for `user_data`, or `NULL`.

  The argument can be `NULL`.