/* This function must be called while holding the @queue's lock.  */
void g_async_queue_push_unlocked(GAsyncQueue *queue, gpointer data)
/* This function must be called while holding the @queue's lock.  */
void g_async_queue_push_unlocked(GAsyncQueue *queue, gpointer data)
{
  g_return_if_fail (queue);
  g_return_if_fail (data);
  g_queue_push_head (&queue->queue, data);
  if (queue->waiting_threads > 0)
    g_cond_signal (&queue->cond);
}