Gio.PollableInputStream.create_source

### Method

# Gio PollableInputStreamcreate_source

since: 2.28

#### Declaration [src]

    GSource*
    g_pollable_input_stream_create_source (
      GPollableInputStream* stream,
      GCancellable* cancellable
    )

#### Description [src]

Creates a `GSource` that triggers when `stream` can be read, or `cancellable` is triggered or an error occurs. The callback on the source is of the `GPollableSourceFunc` type.

As with g_pollable_input_stream_is_readable(), it is possible that the stream may not actually be readable even after the source triggers, so you should use `g_pollable_input_stream_read_nonblocking()` rather than `g_input_stream_read()` from the callback.

The behaviour of this method is undefined if `g_pollable_input_stream_can_poll()` returns `FALSE` for `stream`.

Available since: 2.28

#### Parameters

`cancellable`

  Type: `GCancellable`

  A `GCancellable`, or `NULL`.

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

#### Return value

Type: `GSource`

A new `GSource`.

The caller of the method takes ownership of the returned data, and is responsible for freeing it.