[Initng-svn] r2967 - initng/plugins/interactive
svn at initng.thinktux.net
svn at initng.thinktux.net
Tue Feb 7 12:42:20 CET 2006
Author: jimmy
Date: Tue Feb 7 12:42:20 2006
New Revision: 2967
Modified:
initng/plugins/interactive/initng_interactive.c
Log:
Fix interactive plugin, with the new g.START_DEP_MET and g.STOP_DEP_MET
Modified: initng/plugins/interactive/initng_interactive.c
==============================================================================
--- initng/plugins/interactive/initng_interactive.c (original)
+++ initng/plugins/interactive/initng_interactive.c Tue Feb 7 12:42:20 2006
@@ -34,9 +34,12 @@
#include "initng_interactive.h"
static int active;
+static int interactive_STARTING(active_db_h * service);
+static int interactive_STOP_MARKED(active_db_h * service);
+a_state_h INT_DISABLED = { "INTERACTIVLY_DISABLED", IS_FAILED, NULL };
-static int interactive_STARTING(active_db_h * service, a_state_h * status)
+static int interactive_STARTING(active_db_h * service)
{
char asw[10];
@@ -53,16 +56,17 @@
if (asw[0] == 'a' || asw[0] == 'A')
{
- initng_unload_module_named("interactive");
+ initng_plugin_hook_del(&g.START_DEP_MET, &interactive_STARTING);
+ initng_plugin_hook_del(&g.STOP_DEP_MET, &interactive_STOP_MARKED);
+ active=FALSE;
return (TRUE);
}
- initng_common_mark_service(service, &FAIL_STARTING);
- return (FALSE);
-
+ initng_common_mark_service(service, &INT_DISABLED);
+ return (FAIL);
}
-static int interactive_STOP_MARKED(active_db_h * service, a_state_h * status)
+static int interactive_STOP_MARKED(active_db_h * service)
{
char asw[10];
@@ -77,11 +81,15 @@
return (TRUE);
if (asw[0] == 'a' || asw[0] == 'A')
- initng_unload_module_named("interactive");
-
- initng_common_mark_service(service, &FAIL_STOPPING);
- return (FALSE);
+ {
+ initng_plugin_hook_del(&g.START_DEP_MET, &interactive_STARTING);
+ initng_plugin_hook_del(&g.STOP_DEP_MET, &interactive_STOP_MARKED);
+ active=FALSE;
+ return(TRUE);
+ }
+ initng_common_mark_service(service, &INT_DISABLED);
+ return (FAIL);
}
@@ -94,15 +102,17 @@
F_("This module is compiled for \"%s\" version and initng is compiled on \"%s\" version, won't load this module!\n", INITNG_VERSION, version);
return (FALSE);
}
+
D_("module_init();\n");
+
+ /* look for the string interactive */
for (i = 0; g.Argv[i]; i++)
if (strstr(g.Argv[i], "interactive"))
- {
+ { /* if found */
+
P_("Initng is started in interactive mode!\n");
- initng_active_state_add_test(&STARTING, 30,
- &interactive_STARTING);
- initng_active_state_add_test(&STOP_MARKED, 30,
- &interactive_STOP_MARKED);
+ initng_plugin_hook_add(&g.START_DEP_MET, 90, &interactive_STARTING);
+ initng_plugin_hook_add(&g.STOP_DEP_MET, 90, &interactive_STOP_MARKED);
active = TRUE;
return (TRUE);
}
@@ -117,7 +127,7 @@
D_("module_unload();\n");
if (active == TRUE)
{
- initng_active_state_del_test(&STARTING, interactive_STARTING);
- initng_active_state_del_test(&STOP_MARKED, interactive_STOP_MARKED);
+ initng_plugin_hook_del(&g.START_DEP_MET, &interactive_STARTING);
+ initng_plugin_hook_del(&g.STOP_DEP_MET, &interactive_STOP_MARKED);
}
}
More information about the Initng-svn
mailing list