contrib/chg/chg.c
changeset 28856 0d530299acf2
parent 28853 d11548b4ae45
child 28863 6e06fbee9244
--- a/contrib/chg/chg.c	Mon Apr 11 00:17:17 2016 +0100
+++ b/contrib/chg/chg.c	Mon Apr 11 00:18:27 2016 +0100
@@ -178,6 +178,7 @@
 		if (opts->lockfd == -1)
 			abortmsgerrno("cannot create lock file %s",
 				      opts->lockfile);
+		fsetcloexec(opts->lockfd);
 	}
 	int r = flock(opts->lockfd, LOCK_EX);
 	if (r == -1)
@@ -309,8 +310,6 @@
 	if (pid < 0)
 		abortmsg("failed to fork cmdserver process");
 	if (pid == 0) {
-		/* do not leak lockfd to hg */
-		close(opts->lockfd);
 		execcmdserver(opts);
 	} else {
 		hgc = retryconnectcmdserver(opts, pid);