Scroll to navigation

ARES_REINIT(3) Library Functions Manual ARES_REINIT(3)

NAME

ares_reinit - ReInitialize a resolver channel from system configuration.

SYNOPSIS

#include <ares.h>
int ares_reinit(ares_channel_t *channel)

DESCRIPTION

The ares_reinit(3) function re-reads the system configuration and safely applies the configuration to the existing channel. System configuration will never override user-provided settings such as provided via ares_init_options(3) or ares_set_servers(3).

Any existing queries will be automatically requeued if the server they arecurrently assigned to is removed from the system configuration.

This function may cause additional file descriptors to be created, and existingones to be destroyed if server configuration has changed.

0d safety, will spawn a backgroundthread to read the configuration and apply it. It is crucial that developersuse the ARES_OPT_SOCK_STATE_CB or ARES_OPT_EVENT_THREAD so that notifications of changes are alerted. If using ares_getsock(3) or ares_fds(3), no notification is possible which could cause a stall.

RETURNVALUES

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

Initialization succeeded.
A configuration file could not be read.
The process's available memory was exhausted.

AVAILABILITY

This function was first introduced in c-ares version 1.22.0.

SEEALSO

ares_init(3),ares_init_options(3),ares_destroy(3),ares_dup(3),ares_library_init(3),ares_set_servers(3),ares_threadsafety(3)

12 November 2023