Troubles installing ports with Macports 2.3.1
Clemens Lang
cal at macports.org
Wed Jul 2 14:57:29 PDT 2014
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
More information about the macports-users
mailing list