diff options
author | Eelco Dolstra <edolstra@gmail.com> | 2017-04-19T12·54+0200 |
---|---|---|
committer | Eelco Dolstra <edolstra@gmail.com> | 2017-04-19T12·54+0200 |
commit | 9cc8047f44b3d333c2c55c140165bfd507f4d41e (patch) | |
tree | 6c88d7d1fe722f43951e307f13700e293a3debb5 /src | |
parent | b0cb11722626e906a73f10dd9a0c9eea29faf43a (diff) |
Reimplement connect-timeout
Fixes #1339.
Diffstat (limited to 'src')
-rw-r--r-- | src/libstore/download.cc | 2 | ||||
-rw-r--r-- | src/libstore/globals.hh | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/src/libstore/download.cc b/src/libstore/download.cc index 42fd05bd80d7..4d502219ed86 100644 --- a/src/libstore/download.cc +++ b/src/libstore/download.cc @@ -249,6 +249,8 @@ struct CurlDownloader : public Downloader curl_easy_setopt(req, CURLOPT_SSL_VERIFYHOST, 0); } + curl_easy_setopt(req, CURLOPT_CONNECTTIMEOUT, settings.connectTimeout.get()); + /* If no file exist in the specified path, curl continues to work anyway as if netrc support was disabled. */ curl_easy_setopt(req, CURLOPT_NETRC_FILE, settings.netrcFile.get().c_str()); diff --git a/src/libstore/globals.hh b/src/libstore/globals.hh index f3a6038cafae..72863920de99 100644 --- a/src/libstore/globals.hh +++ b/src/libstore/globals.hh @@ -270,6 +270,9 @@ public: struct CaseHackTag { }; Setting<bool, CaseHackTag> useCaseHack{this, nix::useCaseHack, "use-case-hack", "Whether to enable a Darwin-specific hack for dealing with file name collisions."}; + + Setting<unsigned long> connectTimeout{this, 0, "connect-timeout", + "Timeout for connecting to servers during downloads. 0 means use curl's builtin default."}; }; |