[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