[Initng-svn] r4005 - initng/trunk/src

svn at initng.thinktux.net svn at initng.thinktux.net
Thu May 4 10:04:16 CEST 2006


Author: jimmy
Date: Thu May  4 10:04:14 2006
New Revision: 4005

Modified:
   initng/trunk/src/initng_main.c

Log:
Make sure sulogin fork will close all open fds that maby distrub else.


Modified: initng/trunk/src/initng_main.c
==============================================================================
--- initng/trunk/src/initng_main.c	(original)
+++ initng/trunk/src/initng_main.c	Thu May  4 10:04:14 2006
@@ -154,6 +154,7 @@
 {
 	FILE *test;
 	int pid;
+	int i = 0;
 
 	/* set the sys state */
 	switch (t)
@@ -182,6 +183,15 @@
 
 	/* unload all modules (plugins) found */
 	initng_unload_module_unload_all();
+	
+	/* make sure all fds but stdin, stdout, stderr is closed */
+	for (i = 3; i <= 1013; i++)
+	{
+		close(i);
+	}
+
+	/* last sync data to disk */
+	sync();
 
 	/* Mount readonly, youst to be extra sure this is done */
 	mount("/dev/root", "/", NULL, MS_RDONLY + MS_REMOUNT, NULL);
@@ -276,6 +286,13 @@
 		{
 			const char *sulogin_argv[] = { "/sbin/sulogin", NULL };
 			const char *sulogin_env[] = { NULL };
+			int i = 0;
+
+			/* make sure all fds but stdin, stdout, stderr is closed */
+			for (i = 3; i <= 1013; i++)
+			{
+				close(i);
+			}
 
 			/* launch sulogin */
 			execve(sulogin_argv[0], (char **) sulogin_argv,


More information about the Initng-svn mailing list