Skip to content
Snippets Groups Projects
Commit 0eb0a043 authored by Henrik (Grubba) Grubbström's avatar Henrik (Grubba) Grubbström
Browse files

Added cleanup_close_on_exec().

Fixed a few bugs.

Rev: src/fd_control.c:1.29
parent ae265850
No related branches found
No related tags found
No related merge requests found
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
#include "error.h" #include "error.h"
#include "fdlib.h" #include "fdlib.h"
RCSID("$Id: fd_control.c,v 1.28 2000/05/20 02:21:47 per Exp $"); RCSID("$Id: fd_control.c,v 1.29 2000/05/20 18:58:53 grubba Exp $");
#else /* TESTING */ #else /* TESTING */
...@@ -154,7 +154,7 @@ static void grow_fds_to_close( ) ...@@ -154,7 +154,7 @@ static void grow_fds_to_close( )
if(!fds_to_close) if(!fds_to_close)
fatal("Out of memory in fd_control::grow_fds_to_close()\n" fatal("Out of memory in fd_control::grow_fds_to_close()\n"
"Tried to allocate %d fd_datum structs\n", fds_to_close_size); "Tried to allocate %d fd_datum structs\n", fds_to_close_size);
MEMSET( fds+(fds_size/2), 0, fds_to_close_size*sizeof(int)/2 ); MEMSET( fds+(fds_to_close_size/2), 0, fds_to_close_size*sizeof(int)/2 );
} }
void do_close_on_exec(void) void do_close_on_exec(void)
...@@ -165,6 +165,16 @@ void do_close_on_exec(void) ...@@ -165,6 +165,16 @@ void do_close_on_exec(void)
} }
num_fds_to_close = 0; num_fds_to_close = 0;
} }
void cleanup_close_on_exec(void)
{
if (fds_to_close) {
free(fds_to_close);
fds_to_close = 0;
fds_to_close_size = 0;
num_fds_to_close = 0;
}
}
#endif /* HAVE_BROKEN_F_SETFD */ #endif /* HAVE_BROKEN_F_SETFD */
int set_close_on_exec(int fd, int which) int set_close_on_exec(int fd, int which)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment