Hi, > Ok, but that would only be enough http requests to determine if an archive > for the main port is available, right? So ideally 1 http request (in the > case where the archive exists on the server it tried), or maybe a few > requests (to check a few additional servers). It wouldn't be proportional to > the number of dependencies.
Yes it would. The check is run to find out whether an archive is available (in which case the build dependencies for this port can be skipped), but the same is not necessarily true for other dependencies. Consequently, the same check is run for every port in the dependency tree of the main port. I think this may be related to http://trac.macports.org/changeset/117022 where I changed from curl_easy_cleanup() to curl_easy_reset() and kept the handle alive for re-use instead of destroying it. From the manpage of curl_easy_reset: It does not change the following information kept in the handle: live connections, the Session ID cache, the DNS cache, the cookies and shares. So if your connections somehow never time out (e.g., after the HTTP HEAD request sent by CurlGetSizeCmd or CurlIsNewerCmd), this could cause these problems. We could work around this by - Reducing the timeout: I don't think that would help because even with only a few seconds of timeout, your computer still can open new connections quicker than they will reach the timeout, triggering the problem. - Calling curl_easy_cleanup() instead of curl_easy_reset() every ~10 calls: Might defeat the original purpose of the change, which was enabling re-use of HTTP connections. The original question remains, though: Why aren't your connections closed, or re-used? -- Clemens Lang _______________________________________________ macports-users mailing list [email protected] https://lists.macosforge.org/mailman/listinfo/macports-users
