openbmc/build/tmp/deploy/sdk/witherspoon-2019-08-08/sysroots/armv6-openbmc-linux-gnueabi/usr/src/debug/glib-2.0/1_2.60.3-r0/glib-2.60.3/gio/goutputstream.c
void g_output_stream_close_async(GOutputStream* stream, int io_priority,
                                 GCancellable* cancellable,
                                 GAsyncReadyCallback callback,
                                 gpointer user_data)
{
    GTask* task;
    GError* error = NULL;

    g_return_if_fail(G_IS_OUTPUT_STREAM(stream));

    task = g_task_new(stream, cancellable, callback, user_data);
    g_task_set_source_tag(task, g_output_stream_close_async);
    g_task_set_priority(task, io_priority);

    if (!g_output_stream_set_pending(stream, &error))
    {
        g_task_return_error(task, error);
        g_object_unref(task);
        return;
    }

    g_output_stream_internal_close_async(stream, io_priority, cancellable,
                                         real_close_async_cb, task);
}
/**
 * g_output_stream_close_async:
 * @stream: A #GOutputStream.
 * @io_priority: the io priority of the request.
 * @cancellable: (nullable): optional cancellable object
 * @callback: (scope async): callback to call when the request is satisfied
 * @user_data: (closure): the data to pass to callback function
 *
 * Requests an asynchronous close of the stream, releasing resources
 * related to it. When the operation is finished @callback will be
 * called. You can then call g_output_stream_close_finish() to get
 * the result of the operation.
 *
 * For behaviour details see g_output_stream_close().
 *
 * The asynchronous methods have a default fallback that uses threads
 * to implement asynchronicity, so they are optional for inheriting
 * classes. However, if you override one you must override all.
 **/


Requests an asynchronous close of the stream, releasing resources
related to it. When the operation is finished @callback will be
called. You can then call g_output_stream_close_finish() to get
the result of the operation.

For behaviour details see g_output_stream_close().

The asynchronous methods have a default fallback that uses threads
to implement asynchronicity, so they are optional for inheriting
classes. However, if you override one you must override all.
Requests an asynchronous close of the stream releasing resources related to it . When the operation is finished @callback will be called . You can then call g_output_stream_close_finish () to get the result of the operation . For behaviour details see g_output_stream_close () . The asynchronous methods have a default fallback that uses threads to implement asynchronicity so they are optional for inheriting classes . However if you override one you must override all .
void g_output_stream_close_async(GOutputStream* stream, int io_priority,
                                 GCancellable* cancellable,
                                 GAsyncReadyCallback callback,
                                 gpointer user_data)
{
    GTask* task;
    GError* error = NULL;
    g_return_if_fail(G_IS_OUTPUT_STREAM(stream));
    task = g_task_new(stream, cancellable, callback, user_data);
    g_task_set_source_tag(task, g_output_stream_close_async);
    g_task_set_priority(task, io_priority);
    if (!g_output_stream_set_pending(stream, &error))
    {
        g_task_return_error(task, error);
        g_object_unref(task);
        return;
    }
    g_output_stream_internal_close_async(stream, io_priority, cancellable,
                                         real_close_async_cb, task);
}
void g_output_stream_close_async ( GOutputStream * stream , int io_priority , GCancellable * cancellable , GAsyncReadyCallback callback , gpointer user_data ) { GTask * task ; GError * error = NULL ; g_return_if_fail ( G_IS_OUTPUT_STREAM ( stream ) ) ; task = g_task_new ( stream , cancellable , callback , user_data ) ; g_task_set_source_tag ( task , g_output_stream_close_async ) ; g_task_set_priority ( task , io_priority ) ; if ( ! g_output_stream_set_pending ( stream , & error ) ) { g_task_return_error ( task , error ) ; g_object_unref ( task ) ; return ; } g_output_stream_internal_close_async ( stream , io_priority , cancellable , real_close_async_cb , task ) ; }
g_output_stream_close_async:
 @stream: A #GOutputStream.
g_output_stream_close_async : @stream : A #GOutputStream .