diff options
| author | Emmanuel Dreyfus <manu@netbsd.org> | 2014-10-30 10:54:24 +0100 | 
|---|---|---|
| committer | Vijay Bellur <vbellur@redhat.com> | 2014-11-16 23:02:47 -0800 | 
| commit | 573a1b3f41aeb831919a472315b1cd48fe3999bf (patch) | |
| tree | c28b91735f8c39ae33696e89009c88453f6d857d /contrib | |
| parent | 4d8917360ed3176a22ec218b9c1f15ee444ad11d (diff) | |
Use F_CLOSEM if available
Use F_CLOSEM to close all file descriptors if available.
Backport of Ib3c682825b89c163ebb152848f2533b3cb62cdce
BUG: 1138897
Change-Id: Ie44c8e07c77ca5509766e0addbb17c1979df68e7
Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org>
Reviewed-on: http://review.gluster.org/9010
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'contrib')
| -rw-r--r-- | contrib/uuid/gen_uuid.c | 7 | 
1 files changed, 7 insertions, 0 deletions
diff --git a/contrib/uuid/gen_uuid.c b/contrib/uuid/gen_uuid.c index 79923cd542f..e69995ae557 100644 --- a/contrib/uuid/gen_uuid.c +++ b/contrib/uuid/gen_uuid.c @@ -465,6 +465,12 @@ static ssize_t read_all(int fd, char *buf, size_t count)  #if defined(USE_UUIDD) && defined(HAVE_SYS_UN_H)  static void close_all_fds(void)  { +#ifdef F_CLOSEM +	(void)fcntl(0, F_CLOSEM); +	(void)open("/dev/null", O_RDWR); /* stdin */ +	(void)open("/dev/null", O_RDWR); /* stdout */ +	(void)open("/dev/null", O_RDWR); /* stderr */ +#else /* F_CLOSEM */  	int i, max;  #if defined(HAVE_SYSCONF) && defined(_SC_OPEN_MAX) @@ -485,6 +491,7 @@ static void close_all_fds(void)  		if (i <= 2)  			open("/dev/null", O_RDWR);  	} +#endif /* F_CLOSEM */  }  #endif  | 
