diff contrib/chg/chg.c @ 29345:62b890496de5

chg: make timeout adjustable Before this patch, chg will give up when it cannot connect to the new server within 10 seconds. If the host has high load during that time, 10 seconds is not enough. This patch makes it adjustable using the CHGTIMEOUT environment variable.
author Jun Wu <quark@fb.com>
date Mon, 13 Jun 2016 21:30:14 +0100
parents bb3d5c20eaf6
children 66d41c9e9222
line wrap: on
line diff
--- a/contrib/chg/chg.c	Sat Jun 11 20:25:49 2016 +0100
+++ b/contrib/chg/chg.c	Mon Jun 13 21:30:14 2016 +0100
@@ -249,7 +249,13 @@
 	int pst = 0;
 
 	debugmsg("try connect to %s repeatedly", opts->sockname);
-	for (unsigned int i = 0; i < 10 * 100; i++) {
+
+	unsigned int timeoutsec = 10;  /* default: 10 seconds */
+	const char *timeoutenv = getenv("CHGTIMEOUT");
+	if (timeoutenv)
+		sscanf(timeoutenv, "%u", &timeoutsec);
+
+	for (unsigned int i = 0; !timeoutsec || i < timeoutsec * 100; i++) {
 		hgclient_t *hgc = hgc_open(opts->sockname);
 		if (hgc)
 			return hgc;