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