Просмотр исходного кода

* improve the timeout handling (again)

Michael Vogt лет назад: 21
Родитель
Сommit
25182152bc
3 измененных файлов с 11 добавлено и 2 удалено
  1. 2 1
      apt-pkg/acquire-item.cc
  2. 6 1
      debian/changelog
  3. 3 0
      methods/connect.cc

+ 2 - 1
apt-pkg/acquire-item.cc

@@ -401,7 +401,8 @@ void pkgAcqMetaSig::Failed(string Message,pkgAcquire::MethodConfig *Cnf)
    unlink(Final.c_str());
 
    // if we get a timeout if fail
-   if(LookupTag(Message,"FailReason") == "Timeout") {
+   if(LookupTag(Message,"FailReason") == "Timeout" || 
+      LookupTag(Message,"FailReason") == "TmpResolveFailure") {
       Item::Failed(Message,Cnf);
       return;
    }

+ 6 - 1
debian/changelog

@@ -17,8 +17,13 @@ apt (0.6.40.2) unstable; urgency=low
   * Andreas Pakulat:
     - added example apt-ftparchive.conf file to doc/examples 
       (closes: #322483)
+  * methods/connect.cc:
+    - send failure reason for EAI_AGAIN (TmpResolveFailure) to acuire-item
+  * apt-pkg/acquire-item.cc:
+    - fail early if a FailReason is TmpResolveFailure (avoids hangs during
+      the install when no network is available)
   
- -- 
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 23 Aug 2005 00:15:00 +0200
 
 apt (0.6.40.1) unstable; urgency=low
 

+ 3 - 0
methods/connect.cc

@@ -166,8 +166,11 @@ bool Connect(string Host,int Port,const char *Service,int DefPort,int &Fd,
 	    }
 	    
 	    if (Res == EAI_AGAIN)
+	    {
+	       Owner->SetFailExtraMsg("\nFailReason: TmpResolveFailure");
 	       return _error->Error(_("Temporary failure resolving '%s'"),
 				    Host.c_str());
+	    }
 	    return _error->Error(_("Something wicked happened resolving '%s:%s' (%i)"),
 				 Host.c_str(),ServStr,Res);
 	 }