/** * soup_add_completion: (skip) * @async_context: (allow-none): the #GMainContext to dispatch the I/O * watch in, or %NULL for the default context * @function: the callback to invoke * @data: user data to pass to @function * * Adds @function to be executed from inside @async_context with the * default priority. Use this when you want to complete an action in * @async_context's main loop, as soon as possible. * * Return value: a #GSource, which can be removed from @async_context * with g_source_destroy(). * * Since: 2.24 **/ GSource * soup_add_completion (GMainContext *async_context, GSourceFunc function, gpointer data) { GSource *source; source = soup_add_completion_reffed (async_context, function, data); g_source_unref (source); return source; }
void soup_message_io_unpause (SoupMessage *msg) { SoupMessagePrivate *priv = SOUP_MESSAGE_GET_PRIVATE (msg); SoupMessageIOData *io = priv->io_data; g_return_if_fail (io != NULL); if (io->item && io->item->new_api) { g_return_if_fail (io->read_state < SOUP_MESSAGE_IO_STATE_BODY); io->paused = FALSE; return; } if (!io->unpause_source) { io->unpause_source = soup_add_completion_reffed (io->async_context, io_unpause_internal, msg, NULL); } }