From f2a8756b2e5fd201582276fe45855dad237cd9aa Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Mon, 28 May 2007 07:28:48 +0000 Subject: For bug #180009, add a PORTAGE_RSYNC_INITIAL_TIMEOUT config variable. The default is 15 seconds and it can be disabled by setting it to 0. svn path=/main/trunk/; revision=6650 --- pym/emerge/__init__.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'pym/emerge/__init__.py') diff --git a/pym/emerge/__init__.py b/pym/emerge/__init__.py index 193c7c33e..5f4219259 100644 --- a/pym/emerge/__init__.py +++ b/pym/emerge/__init__.py @@ -4058,6 +4058,12 @@ def action_sync(settings, trees, mtimedb, myopts, myaction): pass del content + try: + rsync_initial_timeout = \ + int(settings.get("PORTAGE_RSYNC_INITIAL_TIMEOUT", "15")) + except ValueError: + rsync_initial_timeout = 15 + try: if settings.has_key("RSYNC_RETRIES"): print yellow("WARNING:")+" usage of RSYNC_RETRIES is deprecated, use PORTAGE_RSYNC_RETRIES instead" @@ -4167,14 +4173,16 @@ def action_sync(settings, trees, mtimedb, myopts, myaction): # Timeout here in case the server is unresponsive. The # --timeout rsync option doesn't apply to the initial # connection attempt. - signal.alarm(15) + if rsync_initial_timeout: + signal.alarm(rsync_initial_timeout) try: mypids.extend(portage.process.spawn( mycommand, env=settings.environ(), returnpid=True)) exitcode = os.waitpid(mypids[0], 0)[1] content = portage.grabfile(tmpservertimestampfile) finally: - signal.alarm(0) + if rsync_initial_timeout: + signal.alarm(0) try: os.unlink(tmpservertimestampfile) except OSError: -- cgit v1.2.3-1-g7c22