summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/emerge7
1 files changed, 6 insertions, 1 deletions
diff --git a/bin/emerge b/bin/emerge
index e88a7fc1d..b9c49d6d9 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -3922,7 +3922,12 @@ def action_sync(settings, trees, mtimedb, myopts, myaction):
exitcode = os.EX_OK
servertimestamp = 0
- if mytimestamp != 0:
+ # Even if there's no timestamp available locally, fetch the
+ # timestamp anyway as an initial probe to verify that the server is
+ # responsive. This protects us from hanging indefinitely on a
+ # connection attempt to an unresponsive server which rsync's
+ # --timeout option does not prevent.
+ if True:
mycommand = rsynccommand.split()
mycommand.append(dosyncuri.rstrip("/") + \
"/metadata/timestamp.chk")