使用glibcなのに、なぜ私gethostbynameに失敗後、I/DHCPのDNSサーバー?
質問
場合はサーバー(走行装置)を開始前のDHCPリースして取得できないを使用して接続ホスト名.
そこでホストのIPアドレスによるものではなくDNS.
まず考えられたのは、カールDNSキャッシュした断層としてのカール接続に失敗しました。もっCURLOPT_DNS_CACHE_TIMEOUT防止カールからのキャッシュアドレスでの接続が失敗しました。
解決
ここで示されているデータglibc gethostbyname_rな自動的にリロードで構成される構成に変わります。お手動で通話res_init.見 バグ報告 ます。
注意:ものmanページgethostbyname_rもrer_init述べたように、このメソッドは制限があります。
私の解決が非常に固有のものです。を動作させることができ当社のサーバではない私の理想的なソリューション.
い機能を持っているところをチェックしmtime、/etc/resolv.confの最後の呼mtime(0以下).の場合には、mtime が異なりその通話res_init.この関数が呼び出されるまで、プログラムの起動として定期的に任意の更新の設定をします。
のglibc バグ報告
libcキャッシュresolv.confを永遠に
...
そres_init()は話します。
所属していません StackOverflow