--- bin/emerge (revision 6649) +++ bin/emerge (working copy) @@ -3945,6 +3945,12 @@ 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" maxretries=int(settings["RSYNC_RETRIES"]) @@ -4054,14 +4060,16 @@ # 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_exec.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: --- man/make.conf.5 (revision 6636) +++ man/make.conf.5 (working copy) @@ -357,6 +357,12 @@ it will increment it. For more information about nice levels and what are acceptable ranges, see \fBnice\fR(1). .TP +\fBPORTAGE_RSYNC_INITIAL_TIMEOUT\fR = \fIinteger\fR +Used by \fBemerge \-\-sync\fR as a timeout for the initial connection to an +rsync server. +.br +Defaults to 15 seconds. +.TP \fBPORTAGE_RSYNC_EXTRA_OPTS\fR = \fI[rsync options string]\fR Additional rsync options to be used by \fBemerge \-\-sync\fR. .br