### Method

# GLib IOChannel shutdown

#### Declaration

    GIOStatus
    g_io_channel_shutdown (
      GIOChannel* channel,
      gboolean flush,
      GError** error
    )

#### Description

Close an IO channel. Any pending data to be written will be flushed if `flush` is `TRUE`. The channel will not be freed until the last reference is dropped using g_io_channel_unref().

#### Parameters

`flush`

  Type: `gboolean`

  If `TRUE`, flush pending.

`error`

  Type: `GError **`

  The return location for a recoverable error.

  The argument can be `NULL`.
  If the return location is not `NULL`, then you must initialize it to a `NULL` `GError*`.
  The argument will be left initialized to `NULL` by the method if there are no errors.
  In case of error, the argument will be set to a newly allocated `GError`; the caller will take ownership of the data, and be responsible for freeing it.

#### Return value

Type: `GIOStatus`

The status of the operation.