From 8b3f13f6ec84bf24954cae07576ae70086547e1c Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Tue, 1 Aug 1995 18:29:36 +0000 Subject: (getloadavg): Set FD_CLOEXEC flag on /dev/kmem file descriptor. --- getloadavg.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'getloadavg.c') diff --git a/getloadavg.c b/getloadavg.c index 8689a81..5cf0b99 100644 --- a/getloadavg.c +++ b/getloadavg.c @@ -840,7 +840,17 @@ getloadavg (loadavg, nelem) #ifndef SUNOS_5 channel = open ("/dev/kmem", 0); if (channel >= 0) - getloadavg_initialized = 1; + { + /* Set the channel to close on exec, so it does not + litter any child's descriptor table. */ +#ifdef FD_SETFD +#ifndef FD_CLOEXEC +#define FD_CLOEXEC 1 +#endif + (void) fcntl (channel, F_SETFD, FD_CLOEXEC); +#endif + getloadavg_initialized = 1; + } #else /* SUNOS_5 */ /* We pass 0 for the kernel, corefile, and swapfile names to use the currently running kernel. */ -- cgit v1.2.3