From fd36c6bd8b0e293c800a1814a423168cfab0b2e5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net>
Date: Wed, 29 Jan 1997 13:44:50 -0800
Subject: [PATCH] closed on exec now updated only at fork() or exec(), typo
 fixed in efuns.c

Rev: src/modules/files/efuns.c:1.15
Rev: src/modules/files/socket.c:1.6
---
 src/modules/files/efuns.c  | 11 +++++++----
 src/modules/files/socket.c |  7 ++-----
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/modules/files/efuns.c b/src/modules/files/efuns.c
index 664bcfe769..058ec9e270 100644
--- a/src/modules/files/efuns.c
+++ b/src/modules/files/efuns.c
@@ -162,7 +162,7 @@ void f_mkdir(INT32 args)
   push_int(i);
 }
 
-#undef HAVE_REDDIR_R
+#undef HAVE_READDIR_R
 #if defined(HAVE_SOLARIS_READDIR_R) || defined(HAVE_SOLARIS_HPUX_R) || \
     defined(HAVE_POSIX_R)
 #define HAVE_READDIR_R
@@ -349,6 +349,7 @@ void f_getcwd(INT32 args)
 
 void f_fork(INT32 args)
 {
+  do_set_close_on_exec();
   pop_n_elems(args);
 #if defined(HAVE_FORK1) && defined(_REENTRANT)
   push_int(fork1());
@@ -438,9 +439,11 @@ void f_exece(INT32 args)
     env=environ;
   }
 
-  set_close_on_exec(0,0);
-  set_close_on_exec(1,0);
-  set_close_on_exec(2,0);
+  my_set_close_on_exec(0,0);
+  my_set_close_on_exec(1,0);
+  my_set_close_on_exec(2,0);
+
+  do_set_close_on_exec();
 
   execve(argv[0],argv,env);
 
diff --git a/src/modules/files/socket.c b/src/modules/files/socket.c
index 3ebf4a9b1a..1d85a1faf6 100644
--- a/src/modules/files/socket.c
+++ b/src/modules/files/socket.c
@@ -191,7 +191,7 @@ static void port_bind(INT32 args)
     return;
   }
 
-  set_close_on_exec(fd,1);
+  my_set_close_on_exec(fd,1);
 
   MEMSET((char *)&addr,0,sizeof(struct sockaddr_in));
 
@@ -298,10 +298,7 @@ static void port_accept(INT32 args)
     return;
   }
 
-  tmp=1;
-  setsockopt(fd,SOL_SOCKET, SO_KEEPALIVE, (char *)&tmp, sizeof(tmp));
-
-  set_close_on_exec(fd,1);
+  my_set_close_on_exec(fd,1);
   o=file_make_object_from_fd(fd,FILE_READ | FILE_WRITE);
   
   pop_n_elems(args);
-- 
GitLab