### Method

# GLib AsyncQueue push_sorted_unlocked

since: 2.10

#### Declaration

    void
    g_async_queue_push_sorted_unlocked (
      GAsyncQueue* queue,
      gpointer data,
      GCompareDataFunc func,
      gpointer user_data
    )

#### Description

Inserts `data` into `queue` using `func` to determine the new position.

The sort function `func` is passed two elements of the `queue`. It should return 0 if they are equal, a negative value if the first element should be higher in the `queue` or a positive value if the first element should be lower in the `queue` than the second element.

This function requires that the `queue` is sorted before pushing on new elements, see g_async_queue_sort().

This function must be called while holding the `queue`‘s lock.

For an example of `func` see g_async_queue_sort().

Available since: 2.10

#### Parameters

`data`

  Type: `gpointer`

  The data to push into the `queue`.

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

`func`

  Type: `GCompareDataFunc`

  The `GCompareDataFunc` is used to sort `queue`.

`user_data`

  Type: `gpointer`

  User data passed to `func`.

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