[PATCH 08 of 14] chg: extract the logic of setting FD_CLOEXEC to a utility function

Yuya Nishihara yuya at tcha.org
Mon Apr 11 09:37:18 EDT 2016


On Mon, 11 Apr 2016 00:57:25 +0100, Jun Wu wrote:
> # HG changeset patch
> # User Jun Wu <quark at fb.com>
> # Date 1460330237 -3600
> #      Mon Apr 11 00:17:17 2016 +0100
> # Node ID 95e54f1b7e4f7184f6f1f77945b0ba9ed3cc2efb
> # Parent  4616bceaa941b40b39055610ba109252dee3a20c
> chg: extract the logic of setting FD_CLOEXEC to a utility function

Queued the patch 1 and 8, thanks.

> --- a/contrib/chg/util.c
> +++ b/contrib/chg/util.c
> @@ -92,6 +92,15 @@
>  		abortmsgerrno("failed to fchdir");
>  }
>  
> +void fsetcloexec(int fd)
> +{
> +	int flags = fcntl(fd, F_GETFD);
> +	if (flags < 0)
> +		abortmsgerrno("cannot get flags of fd %d", fd);
> +	if (fcntl(fd, F_SETFD, flags | FD_CLOEXEC) < 0)
> +		abortmsgerrno("cannot set flags of fd %d", fd);
> +}

I've added #include <fcntl.h>.


More information about the Mercurial-devel mailing list