[Initng-svn] r3818 - in initng/trunk: plugins/ctrlaltdel plugins/debug_commands plugins/initctl plugins/iparser plugins/ngcs plugins/nge plugins/reload plugins/stcmd plugins/syslog src tools

svn at initng.thinktux.net svn at initng.thinktux.net
Tue Apr 18 11:49:08 CEST 2006


Author: jimmy
Date: Tue Apr 18 11:49:06 2006
New Revision: 3818

Modified:
   initng/trunk/plugins/ctrlaltdel/initng_ctrlaltdel.c
   initng/trunk/plugins/debug_commands/initng_debug_commands.c
   initng/trunk/plugins/initctl/initng_initctl.c
   initng/trunk/plugins/iparser/initng_i_parser.c
   initng/trunk/plugins/ngc4/initng_ngc4.c
   initng/trunk/plugins/ngcs/initng_ngcs.c
   initng/trunk/plugins/nge/initng_nge.c
   initng/trunk/plugins/reload/initng_reload.c
   initng/trunk/plugins/stcmd/initng_stcmd.c
   initng/trunk/plugins/syslog/initng_syslog.c
   initng/trunk/src/initng_error.c
   initng/trunk/src/initng_fork.c
   initng/trunk/src/initng_global.c
   initng/trunk/src/initng_global.h
   initng/trunk/src/initng_main.c
   initng/trunk/src/initng_signal.c
   initng/trunk/src/main.c
   initng/trunk/tools/itype.c

Log:
Change the i_am_init to an enum.


Modified: initng/trunk/plugins/ctrlaltdel/initng_ctrlaltdel.c
==============================================================================
--- initng/trunk/plugins/ctrlaltdel/initng_ctrlaltdel.c	(original)
+++ initng/trunk/plugins/ctrlaltdel/initng_ctrlaltdel.c	Tue Apr 18 11:49:06 2006
@@ -44,9 +44,9 @@
 		return;
 
 	/* what to do when there is no services left */
-	if (g.i_am_init)
+	if (g.i_am == I_AM_INIT)
 		g.when_out = THEN_REBOOT;
-	else
+	else if (g.i_am == I_AM_FAKE_INIT)
 		g.when_out = THEN_QUIT;
 
 	/* stop all services */

Modified: initng/trunk/plugins/debug_commands/initng_debug_commands.c
==============================================================================
--- initng/trunk/plugins/debug_commands/initng_debug_commands.c	(original)
+++ initng/trunk/plugins/debug_commands/initng_debug_commands.c	Tue Apr 18 11:49:06 2006
@@ -250,7 +250,7 @@
 	}
 
 	initng_command_add(&LIST_FDS);
-	if (!g.i_am_init)
+	if (g.i_am == I_AM_FAKE_INIT)
 	{
 		initng_command_add(&QUIT_INITNG);
 	}
@@ -274,7 +274,7 @@
 	D_("module_unload(stcmd);\n");
 
 	initng_command_del(&LIST_FDS);
-	if (!g.i_am_init)
+	if (g.i_am == I_AM_FAKE_INIT)
 	{
 		initng_command_del(&QUIT_INITNG);
 	}

Modified: initng/trunk/plugins/initctl/initng_initctl.c
==============================================================================
--- initng/trunk/plugins/initctl/initng_initctl.c	(original)
+++ initng/trunk/plugins/initctl/initng_initctl.c	Tue Apr 18 11:49:06 2006
@@ -308,7 +308,7 @@
 		return (FALSE);
 	}
 
-	if (!g.i_am_init)
+	if (g.i_am != I_AM_INIT)
 	{
 		initng_unload_module_named("initctl");
 		return (TRUE);						/* this is not a failure */
@@ -333,7 +333,7 @@
 	D_("module_unload();\n");
 
 	/* then this module was never loaded */
-	if (!g.i_am_init)
+	if (g.i_am != I_AM_INIT)
 		return;								/* this is not a failure */
 
 

Modified: initng/trunk/plugins/iparser/initng_i_parser.c
==============================================================================
--- initng/trunk/plugins/iparser/initng_i_parser.c	(original)
+++ initng/trunk/plugins/iparser/initng_i_parser.c	Tue Apr 18 11:49:06 2006
@@ -677,8 +677,7 @@
 	/* if not watching for anything special */
 	if(!watch_for)
 	{
-		(*exact_match) = new_service;
-		return (TRUE);		
+		return (FALSE);		
 	}
 	
 

Modified: initng/trunk/plugins/ngc4/initng_ngc4.c
==============================================================================
--- initng/trunk/plugins/ngc4/initng_ngc4.c	(original)
+++ initng/trunk/plugins/ngc4/initng_ngc4.c	Tue Apr 18 11:49:06 2006
@@ -1199,9 +1199,9 @@
 
 
 	/* decide which socket to use */
-	if (g.i_am_init)
+	if (g.i_am == I_AM_INIT)
 		socket_filename = SOCKET_4_FILENAME_REAL;
-	else
+	else if (g.i_am == I_AM_FAKE_INIT)
 		socket_filename = SOCKET_4_FILENAME_TEST;
 
 	D_("Socket is: %s\n", socket_filename);

Modified: initng/trunk/plugins/ngcs/initng_ngcs.c
==============================================================================
--- initng/trunk/plugins/ngcs/initng_ngcs.c	(original)
+++ initng/trunk/plugins/ngcs/initng_ngcs.c	Tue Apr 18 11:49:06 2006
@@ -674,9 +674,9 @@
 	INIT_LIST_HEAD(&ngcs_cmds.list);
 
 	/* decide which socket to use */
-	if (g.i_am_init)
+	if (g.i_am == I_AM_INIT)
 		socket_filename = SOCKET_FILENAME_REAL;
-	else
+	else if (g.i_am == I_AM_FAKE_INIT)
 		socket_filename = SOCKET_FILENAME_TEST;
 	D_("Socket is: %s\n", socket_filename);
 

Modified: initng/trunk/plugins/nge/initng_nge.c
==============================================================================
--- initng/trunk/plugins/nge/initng_nge.c	(original)
+++ initng/trunk/plugins/nge/initng_nge.c	Tue Apr 18 11:49:06 2006
@@ -535,9 +535,9 @@
 	 */
 	{
 		/* decide which socket to use */
-		if (g.i_am_init)
+		if (g.i_am == I_AM_INIT)
 			socket_filename = NGE_REAL;
-		else
+		else if (g.i_am == I_AM_FAKE_INIT)
 			socket_filename = NGE_TEST;
 		D_("Socket is: %s\n", socket_filename);
 	}

Modified: initng/trunk/plugins/reload/initng_reload.c
==============================================================================
--- initng/trunk/plugins/reload/initng_reload.c	(original)
+++ initng/trunk/plugins/reload/initng_reload.c	Tue Apr 18 11:49:06 2006
@@ -399,38 +399,43 @@
 
 static int dump_state(void)
 {
-	int retval;
+	const char * file = NULL;
 
-	if (g.i_am_init)
-	{
-		retval = write_file(SAVE_FILE);
-	}
-	else
-	{
-		retval = write_file(SAVE_FILE_FAKE);
-	}
-	return retval ? TRUE : FAIL;
+	/* set the correct filename */
+	if(g.i_am == I_AM_INIT)
+		file = SAVE_FILE;
+	else if(g.i_am == I_AM_FAKE_INIT)
+		file = SAVE_FILE_FAKE;
+	
+	/* if there is a file */
+	if(!file) return(TRUE);
+
+	return(write_file(file));
 }
 
 static int reload_state(void)
 {
 	struct stat st;
-	int retval;
+	const char * file = NULL;
 
-	if (stat(g.i_am_init ? SAVE_FILE : SAVE_FILE_FAKE, &st))
+	/* set the correct filename */
+	if(g.i_am == I_AM_INIT)
+		file = SAVE_FILE;
+	else if(g.i_am == I_AM_FAKE_INIT)
+		file = SAVE_FILE_FAKE;
+	
+	/* if there is a file */
+	if(!file) return(TRUE);
+	
+	/* check that file exits */
+	if (stat(file, &st)!=0)
 	{
 		D_("No state file found, passing on reload_state request\n");
-		return FALSE;
+		return(FALSE);
 	}
-	if (g.i_am_init)
-	{
-		retval = read_file(SAVE_FILE);
-	}
-	else
-	{
-		retval = read_file(SAVE_FILE_FAKE);
-	}
-	return retval ? TRUE : FAIL;
+
+	/* return with file */	
+	return(read_file(file));
 }
 
 /* Save a reload file for backup if initng segfaults */
@@ -440,11 +445,11 @@
 	if (state == STATE_UP)
 	{
 		/* save file */
-		if (g.i_am_init)
+		if (g.i_am == I_AM_INIT)
 		{
 			write_file(SAVE_FILE);
 		}
-		else
+		else if (g.i_am == I_AM_FAKE_INIT)
 		{
 			write_file(SAVE_FILE_FAKE);
 		}
@@ -454,11 +459,11 @@
 	/* if system is stopping, remove the SAVE_FILE */
 	if (state == STATE_STOPPING)
 	{
-		if (g.i_am_init)
+		if (g.i_am == I_AM_INIT)
 		{
 			unlink(SAVE_FILE);
 		}
-		else
+		else if (g.i_am == I_AM_FAKE_INIT)
 		{
 			unlink(SAVE_FILE_FAKE);
 		}
@@ -477,7 +482,7 @@
 
 	/*    if (g.hot_reload)
 	   {
-	   if (g.i_am_init)
+	   if (g.i_am == I_AM_INIT)
 	   {
 	   read_file(SAVE_FILE);
 	   }

Modified: initng/trunk/plugins/stcmd/initng_stcmd.c
==============================================================================
--- initng/trunk/plugins/stcmd/initng_stcmd.c	(original)
+++ initng/trunk/plugins/stcmd/initng_stcmd.c	Tue Apr 18 11:49:06 2006
@@ -559,7 +559,7 @@
 	initng_command_add(&RESTART_SERVICE);
 	initng_command_add(&PRINT_UPTIME);
 	initng_command_add(&SERVICE_RELOAD);
-	if (g.i_am_init)
+	if (g.i_am == I_AM_INIT)
 	{
 		initng_command_add(&REBOOT_INITNG);
 		initng_command_add(&POWEROFF_INITNG);
@@ -591,7 +591,7 @@
 	initng_command_del(&RESTART_SERVICE);
 	initng_command_del(&PRINT_UPTIME);
 	initng_command_del(&SERVICE_RELOAD);
-	if (g.i_am_init)
+	if (g.i_am == I_AM_INIT)
 	{
 		initng_command_del(&REBOOT_INITNG);
 		initng_command_del(&POWEROFF_INITNG);

Modified: initng/trunk/plugins/syslog/initng_syslog.c
==============================================================================
--- initng/trunk/plugins/syslog/initng_syslog.c	(original)
+++ initng/trunk/plugins/syslog/initng_syslog.c	Tue Apr 18 11:49:06 2006
@@ -318,7 +318,7 @@
 	}
 
 	/* Don't clutter syslog in fake mode */
-	if (getpid() != 1 || !g.i_am_init)
+	if (getpid() != 1 || g.i_am != I_AM_INIT)
 	{
 		D_("Pid is not 1, (%i), or g.i_am_init not set and the syslog plugin won't load when running in fake mode, to prevent cluttering up the log-files.\n", getpid());
 		return (TRUE);
@@ -343,7 +343,7 @@
 void module_unload(void)
 {
 	/* Don't clutter syslog in fake mode */
-	if (!g.i_am_init)
+	if (g.i_am != I_AM_INIT)
 	{
 		D_("The syslog plugin won't load when running in fake mode, to prevent cluttering up the log-files.\n");
 		return;

Modified: initng/trunk/src/initng_error.c
==============================================================================
--- initng/trunk/src/initng_error.c	(original)
+++ initng/trunk/src/initng_error.c	Tue Apr 18 11:49:06 2006
@@ -310,7 +310,7 @@
 	last_file = file;
 	last_func = func;
 
-	if (g.i_am_init && getpid() != 1)
+	if (g.i_am != I_AM_INIT && getpid() != 1)
 	{
 		fprintf(stderr, " NON_INIT: ");
 	}

Modified: initng/trunk/src/initng_fork.c
==============================================================================
--- initng/trunk/src/initng_fork.c	(original)
+++ initng/trunk/src/initng_fork.c	Tue Apr 18 11:49:06 2006
@@ -97,7 +97,7 @@
 
 
 		/* TODO, comment this */
-		if (g.i_am_init)
+		if (g.i_am == I_AM_INIT)
 		{
 			ioctl(0, TIOCNOTTY, 0);
 			setsid();						/* Run a program in a new session ??? */
@@ -152,7 +152,7 @@
 		}
 
 		/* TODO, what does this do? */
-		if (g.i_am_init)
+		if (g.i_am == I_AM_INIT)
 			tcsetpgrp(0, getpgrp());		/* run this in foreground on fd 0 */
 
 		/* do a minimum sleep, to let the mother process 

Modified: initng/trunk/src/initng_global.c
==============================================================================
--- initng/trunk/src/initng_global.c	(original)
+++ initng/trunk/src/initng_global.c	Tue Apr 18 11:49:06 2006
@@ -193,14 +193,14 @@
 			g.verbose = TRUE;
 #endif
 		if (strcmp(opt, "i_am_init") == 0)
-			g.i_am_init = TRUE;
+			g.i_am = I_AM_INIT;
 		if (strcmp(opt, "hot_reload") == 0)
 		{
 			D_(" Will start after a hot reload ...\n");
 			g.hot_reload = TRUE;
 		}
 		if (strcmp(opt, "i_am_not_init") == 0)
-			g.i_am_init = FALSE;
+			g.i_am = I_AM_INIT;
 
 		if (strcmp(opt, "no_circular") == 0)
 			g.no_circular = TRUE;

Modified: initng/trunk/src/initng_global.h
==============================================================================
--- initng/trunk/src/initng_global.h	(original)
+++ initng/trunk/src/initng_global.h	Tue Apr 18 11:49:06 2006
@@ -43,6 +43,12 @@
 	THEN_POWEROFF = 7,
 } h_then;
 
+typedef enum
+{
+	I_AM_INIT = 0,
+	I_AM_FAKE_INIT = 1,
+	I_AM_UTILITY = 2,
+} h_i_am;
 
 /* The GLOBAL struct */
 typedef struct
@@ -101,7 +107,7 @@
 	char *Argv0;
 
 	/* system state data */
-	int i_am_init;
+	h_i_am i_am;
 	int hot_reload;
 	char *runlevel;
 	char *old_runlevel;

Modified: initng/trunk/src/initng_main.c
==============================================================================
--- initng/trunk/src/initng_main.c	(original)
+++ initng/trunk/src/initng_main.c	Tue Apr 18 11:49:06 2006
@@ -110,7 +110,7 @@
 
 
 
-	if (g.i_am_init && getpid() != 1)
+	if (g.i_am == I_AM_INIT && getpid() != 1)
 	{
 		F_("I AM NOT INIT, THIS CANT BE HAPPENING!\n");
 		sleep(3);
@@ -425,7 +425,7 @@
 
 
 	/* if this is not init */
-	if (!g.i_am_init)
+	if (g.i_am != I_AM_INIT)
 	{
 		/* just quit */
 		_exit(99);

Modified: initng/trunk/src/initng_signal.c
==============================================================================
--- initng/trunk/src/initng_signal.c	(original)
+++ initng/trunk/src/initng_signal.c	Tue Apr 18 11:49:06 2006
@@ -177,7 +177,7 @@
 	sa.sa_flags = SA_RESTART | SA_NOCLDSTOP;
 
 	/* segfault */
-	if (g.i_am_init)
+	if (g.i_am == I_AM_INIT)
 	{
 		sa.sa_handler = sigsegv;
 		sigaction(SIGSEGV, &sa, 0);

Modified: initng/trunk/src/main.c
==============================================================================
--- initng/trunk/src/main.c	(original)
+++ initng/trunk/src/main.c	Tue Apr 18 11:49:06 2006
@@ -451,9 +451,10 @@
 
 	/* set i_am_init if pid == 1 */
 	if (getpid() == 1)
-		g.i_am_init = TRUE;
+		g.i_am = I_AM_INIT;
 	else
-	{
+	{	
+		g.i_am = I_AM_FAKE_INIT;
 		W_("Initng is running in fake-mode, fake-default runlevel will be started instead.\n");
 	}
 
@@ -463,7 +464,7 @@
 	}
 
 	/* if this is real init */
-	if (g.i_am_init)
+	if (g.i_am == I_AM_INIT)
 	{
 		/* when last service stopped, offer a sulogin */
 		g.when_out = THEN_SULOGIN;
@@ -477,7 +478,7 @@
 		}
 
 	}
-	else
+	else if (g.i_am == I_AM_FAKE_INIT)
 	{
 		/* when last service stopped, quit initng */
 		g.when_out = THEN_QUIT;

Modified: initng/trunk/tools/itype.c
==============================================================================
--- initng/trunk/tools/itype.c	(original)
+++ initng/trunk/tools/itype.c	Tue Apr 18 11:49:06 2006
@@ -94,14 +94,16 @@
 		exit(1);
 	}
 
-	service = initng_common_parse_service(path);
-	if(!service)
+	/* Start parsing file. */
+	initng_common_parse_service(path);
+
+	printf("Services found:\n");
+	/* Print all services found. */
+	while_service_cache(service)
 	{
-		printf("No service found\n");
-		return(FALSE);
+		printf(" * %s\n", service->name);
 	}
 
-	printf("Service found \"%s\"\n", service->name);
 
 	/* unload all modules */
 	initng_unload_module_unload_all();


More information about the Initng-svn mailing list