ares_queue_wait_empty(3)

ares_queue_wait_empty3

Functions for checking the c-ares queue status

Part of ares_queue(3).

Usage

#include <ares.h>
size_t ares_queue_active_queries(const ares_channel_t *channel);
ares_status_t ares_queue_wait_empty(ares_channel_t *channel,
                                    int timeout_ms);

Overview

The ares_queue_active_queries(3) function retrieves the total number of active queries pending answers from servers. Some c-ares requests may spawn multiple queries, such as ares_getaddrinfo(3) when using AF_UNSPEC, which will be reflected in this number. The channel parameter must be set to an initialized channel.

The ares_queue_wait_empty(3) function blocks until notified that there are no longer any queries in queue, or the specified timeout has expired. The channel parameter must be set to an initialized channel. The timeout_ms parameter is the number of milliseconds to wait for the queue to be empty or -1 for Infinite.

Return values

ares_queue_active_queries(3) returns the active query count.

ares_queue_wait_empty(3) can return any of the following values:

ARES_ENOTIMP

if not built with threading support

ARES_ETIMEOUT

if requested timeout expired

ARES_SUCCESS

when queue is empty.

This function was first introduced in c-ares version 1.27.0, and requires the

Releases

Unchanged in 2 releases since Debian 13 (Trixie).

  1. 13–Arch

Availability

c-ares library to be built with threading support.

From c-ares 1.34.9-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.