### Function

# Gio pollable_source_new_full

since: 2.34

#### Declaration

    GSource*
    g_pollable_source_new_full (
      GObject* pollable_stream,
      GSource* child_source,
      GCancellable* cancellable
    )

#### Description

Utility method for `GPollableInputStream` and `GPollableOutputStream` implementations. Creates a new `GSource`, as with g_pollable_source_new(), but also attaching `child_source` (with a dummy callback), and `cancellable`, if they are non-`NULL`.

Available since: 2.34

#### Parameters

`pollable_stream`

  Type: `GObject`

  The stream associated with the new source.

  The data is owned by the caller of the function.

`child_source`

  Type: `GSource`

  Optional child source to attach.

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

`cancellable`

  Type: `GCancellable`

  Optional `GCancellable` to attach.

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

#### Return value

Type: `GSource`

The new `GSource`.

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