From: David Kalnischkies Date: Wed, 27 Apr 2011 08:32:53 +0000 (+0200) Subject: * methods/http.cc: X-Git-Tag: 0.8.15~14^2~11 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/3b422ab4b2df243f48330a3329e98c9506d791c6?hp=-c * methods/http.cc: - add config option to ignore a closed stdin to be able to easily use the method as a simple standalone downloader --- 3b422ab4b2df243f48330a3329e98c9506d791c6 diff --git a/debian/changelog b/debian/changelog index 22af4700e..143661b87 100644 --- a/debian/changelog +++ b/debian/changelog @@ -45,8 +45,11 @@ apt (0.8.14.2) UNRELEASED; urgency=low * apt-pkg/acquire-item.cc: - apply fix for poorly worded 'locate file' error message from Ben Finney, thanks! (Closes: #623171) + * methods/http.cc: + - add config option to ignore a closed stdin to be able to easily + use the method as a simple standalone downloader - -- David Kalnischkies Tue, 26 Apr 2011 22:41:33 +0200 + -- David Kalnischkies Wed, 27 Apr 2011 10:30:47 +0200 apt (0.8.14.1) unstable; urgency=low diff --git a/methods/http.cc b/methods/http.cc index dfc1619e3..26abc14d9 100644 --- a/methods/http.cc +++ b/methods/http.cc @@ -778,9 +778,10 @@ bool HttpMethod::Go(bool ToFile,ServerState *Srv) if (Srv->In.WriteSpace() == true && ToFile == true && FileFD != -1) FD_SET(FileFD,&wfds); - + // Add stdin - FD_SET(STDIN_FILENO,&rfds); + if (_config->FindB("Acquire::http::DependOnSTDIN", true) == true) + FD_SET(STDIN_FILENO,&rfds); // Figure out the max fd int MaxFd = FileFD; @@ -1113,7 +1114,13 @@ int HttpMethod::Loop() do a WaitFd above.. Otherwise the FD is closed. */ int Result = Run(true); if (Result != -1 && (Result != 0 || Queue == 0)) - return 100; + { + if(FailReason.empty() == false || + _config->FindB("Acquire::http::DependOnSTDIN", true) == true) + return 100; + else + return 0; + } if (Queue == 0) continue;