`EAI_SYSTEM`とerrnoが `EBUSY`(「デバイスまたはリソースを使用しています」)に設定されていると、 `getaddrinfo()`呼び出しが失敗するのはなぜですか?

`EAI_SYSTEM`とerrnoが `EBUSY`(「デバイスまたはリソースを使用しています」)に設定されていると、 `getaddrinfo()`呼び出しが失敗するのはなぜですか?

コンテナで実行すると、このエラーが表示されますapt update(有用な情報の場合)。適切な吐き出し:

System error resolving 'archive.ubuntu.com:80' - getaddrinfo (16: Device or resource busy)

glibcのソースコードを見ようとしましたが、何が起こっているのかわかりません。

ベストアンサー1

コンテナは完全には機能せず、GNU C ライブラリのネームサービス切り替え機能はコンテナで動作しません。特に、動的にロード/ロードできません。この場合、returnは次に設定されます(および次に設定されます)。_nss_N_gethostbyname3_r_nss_N_gethostbyname2_rgetaddrinfo()errnoEBUSYh_errnoNETDB_INTERNAL

また、誤った関数のソースコードを見ています。それはgetaddrinfo_a()

おすすめ記事