ARES\_REINIT(3) Library Functions Manual ARES\_REINIT(3)

# [NAME](#NAME)

ares\_reinit - ReInitialize a resolver channel from system configuration.

# [SYNOPSIS](#SYNOPSIS)

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

# [DESCRIPTION](#DESCRIPTION)

The [**ares\_reinit(3)**](/man/os/c-ares/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)**](/man/os/c-ares/ares_init_options.3) or [**ares\_set\_servers(3)**](/man/os/c-ares/ares_set_servers.3).

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

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

0d safety, will spawn a background thread to read the configuration and apply it. It is crucial that developers use the **ARES\_OPT\_SOCK\_STATE\_CB** or **ARES\_OPT\_EVENT\_THREAD** so that notifications of changes are alerted. If using [**ares\_getsock(3)**](/man/os/c-ares/ares_getsock.3) or [**ares\_fds(3)**](/man/os/c-ares/ares_fds.3), no notification is possible which could cause a stall.

# [RETURN VALUES](#RETURN_VALUES)

[*ares\_reinit(3)*](/man/os/c-ares/ares_reinit.3) can return any of the following values:

[**ARES\_SUCCESS**](#ARES_SUCCESS)

Initialization succeeded.

[**ARES\_EFILE**](#ARES_EFILE)

A configuration file could not be read.

[**ARES\_ENOMEM**](#ARES_ENOMEM)

The process's available memory was exhausted.

# [AVAILABILITY](#AVAILABILITY)

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

# [SEE ALSO](#SEE_ALSO)

[**ares\_init**(3)](/man/os/c-ares/ares_init.3), [**ares\_init\_options**(3)](/man/os/c-ares/ares_init_options.3), [**ares\_destroy**(3)](/man/os/c-ares/ares_destroy.3), [**ares\_dup**(3)](/man/os/c-ares/ares_dup.3), [**ares\_library\_init**(3)](/man/os/c-ares/ares_library_init.3), [**ares\_set\_servers**(3)](/man/os/c-ares/ares_set_servers.3), [**ares\_threadsafety**(3)](/man/os/c-ares/ares_threadsafety.3)

12 November 2023

---

Document: ares_reinit(3) from c-ares 1.34.9-r0 (Chainguard OS)
Source: https://github.com/c-ares/c-ares
