### Method

# Gio Cancellable make_pollfd

since: 2.22

#### Declaration

    gboolean
    g_cancellable_make_pollfd (
      GCancellable* cancellable,
      GPollFD* pollfd
    )

#### Description

Creates a `GPollFD` corresponding to `cancellable`; this can be passed to `g_poll()` and used to poll for cancellation. This is useful both for unix systems without a native poll and for portability to windows.

When this function returns `TRUE`, you should use `g_cancellable_release_fd()` to free up resources allocated for the `pollfd`. After a `FALSE` return, do not call g_cancellable_release_fd().

If this function returns `FALSE`, either no `cancellable` was given or resource limits prevent this function from allocating the necessary structures for polling. (On Linux, you will likely have reached the maximum number of file descriptors.) The suggested way to handle these cases is to ignore the `cancellable`.

You are not supposed to read from the fd yourself, just check for readable status. Reading to unset the readable status is done with g_cancellable_reset().

Available since: 2.22

#### Parameters

`pollfd`

  Type: `GPollFD`

  A pointer to a `GPollFD`.

  The data is owned by the caller of the method.

#### Return value

Type: `gboolean`

`TRUE` if `pollfd` was successfully initialized, `FALSE` on failure to prepare the cancellable.