summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog5
-rw-r--r--methods/http.cc13
2 files changed, 14 insertions, 4 deletions
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 <kalnischkies@gmail.com> Tue, 26 Apr 2011 22:41:33 +0200
+ -- David Kalnischkies <kalnischkies@gmail.com> 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;