Используя glibc, почему мой gethostbyname перестал работать после того, как I/DHCP изменил сервер DNS?

6
задан mat_geek 24 September 2008 в 07:51
поделиться

1 ответ

Оказывается, что glibc gethostbyname_r автоматически не перезагрузит, это - конфигурация если это изменения конфигурации. Необходимо вручную назвать res_init. См. отчет об ошибках ниже.

Примечание: Ни страница справочника для gethostbyname_r, ни для rer_init не упомянула это ограничение.

Мое решение очень конкретно. Это работает на наш длительный сервер, но это не мое идеальное решение.

У меня есть функция, которая проверяет mtime/etc/resolv.conf против последнего известного mtime (0 для DNE). Если два mtime отличаются затем, я называю res_init. Эта функция вызвана на запуске программы и затем периодически дополнительно перезагружать конфигурацию.


glibc отчет об ошибках

кэши libc resolv.conf навсегда

...

Это - то, для чего res_init (), назовите его.

11
ответ дан 9 December 2019 в 22:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: