Когда мне следует вызвать res_init в linux? - PullRequest
0 голосов
/ 28 апреля 2020

Обливаясь старым кодом сетевой утилиты, я нашел res_init() вызов перед getipnodebyname():

void getAddresses(string hostname, set<string> &addresses) {
    int error = 0;
    res_init();
    struct hostent *host = getipnodebyname(hostname.c_str(), AF_INET, AI_DEFAULT, &error);
    insertHostAddresses(host, addresses);
    freehostent(host);
}

Никогда раньше не сталкиваясь с этим вызовом, я посмотрел справочную страницу:
https://linux.die.net/man/3/res_init

Однако это не совсем помогло мне понять, когда необходимо выполнить этот вызов.

Я так понимаю, это для предварительной загрузки кэша? Немного объяснения помогло бы мне.

Я должен отметить - текущий вызов getaddrinfo , кажется, не требует этого?

...