### Method

# GLib AsyncQueue sort

since: 2.10

#### Declaration

    void
    g_async_queue_sort (
      GAsyncQueue* queue,
      GCompareDataFunc func,
      gpointer user_data
    )

#### Description

Sorts `queue` using `func`.

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 will lock `queue` before it sorts the queue and unlock it when it is finished.

If you were sorting a list of priority numbers to make sure the lowest priority would be at the top of the queue, you could use:

     gint32 id1;
     gint32 id2;

     id1 = GPOINTER_TO_INT (element1);
     id2 = GPOINTER_TO_INT (element2);

     return (id1 > id2 ? +1 : id1 == id2 ? 0 : -1);

Available since: 2.10

#### Parameters

`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.