summaryrefslogtreecommitdiff
path: root/source4/lib/registry/tools
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2004-11-06 23:23:15 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:05:36 -0500
commit71db46ea665606384f2be1be708c74c97c9adfb2 (patch)
tree24c84e12f4fc925f3ec1e69348493d7222df1e44 /source4/lib/registry/tools
parentb012ab557b8f8a2f58dfbbe8b7818f3e6d8cf38f (diff)
downloadsamba-71db46ea665606384f2be1be708c74c97c9adfb2.tar.gz
samba-71db46ea665606384f2be1be708c74c97c9adfb2.tar.bz2
samba-71db46ea665606384f2be1be708c74c97c9adfb2.zip
r3586: Fix some of the issues with the module init functions.
Both subsystems and modules can now have init functions, which can be specified in .mk files (INIT_FUNCTION = ...) The build system will define : - SUBSYSTEM_init_static_modules that calls the init functions of all statically compiled modules. Failing to load will generate an error which is not fatal - BINARY_init_subsystems that calls the init functions (if defined) for the subsystems the binary depends on This removes the hack with the "static bool Initialised = " and the "lazy_init" functions (This used to be commit 7a8244761bfdfdfb48f8264d76951ebdfbf7bd8a)
Diffstat (limited to 'source4/lib/registry/tools')
-rw-r--r--source4/lib/registry/tools/regdiff.c1
-rw-r--r--source4/lib/registry/tools/regpatch.c1
-rw-r--r--source4/lib/registry/tools/regshell.c1
-rw-r--r--source4/lib/registry/tools/regtree.c1
4 files changed, 4 insertions, 0 deletions
diff --git a/source4/lib/registry/tools/regdiff.c b/source4/lib/registry/tools/regdiff.c
index 80f4a5c49f..55c8f1e72f 100644
--- a/source4/lib/registry/tools/regdiff.c
+++ b/source4/lib/registry/tools/regdiff.c
@@ -131,6 +131,7 @@ static void writediff(struct registry_key *oldkey, struct registry_key *newkey,
POPT_TABLEEND
};
+ regdiff_init_subsystems;
if (!lp_load(dyn_CONFIGFILE,True,False,False)) {
fprintf(stderr, "Can't load %s - run testparm to debug it\n", dyn_CONFIGFILE);
diff --git a/source4/lib/registry/tools/regpatch.c b/source4/lib/registry/tools/regpatch.c
index d70d7b8457..a8b2f83ee1 100644
--- a/source4/lib/registry/tools/regpatch.c
+++ b/source4/lib/registry/tools/regpatch.c
@@ -771,6 +771,7 @@ static int nt_apply_reg_command_file(struct registry_context *r, const char *cmd
POPT_TABLEEND
};
+ regpatch_init_subsystems;
if (!lp_load(dyn_CONFIGFILE,True,False,False)) {
fprintf(stderr, "Can't load %s - run testparm to debug it\n", dyn_CONFIGFILE);
diff --git a/source4/lib/registry/tools/regshell.c b/source4/lib/registry/tools/regshell.c
index d705a0b802..8d044f6fa2 100644
--- a/source4/lib/registry/tools/regshell.c
+++ b/source4/lib/registry/tools/regshell.c
@@ -356,6 +356,7 @@ static char **reg_completion(const char *text, int start, int end)
POPT_TABLEEND
};
+ regshell_init_subsystems;
if (!lp_load(dyn_CONFIGFILE,True,False,False)) {
fprintf(stderr, "Can't load %s - run testparm to debug it\n", dyn_CONFIGFILE);
diff --git a/source4/lib/registry/tools/regtree.c b/source4/lib/registry/tools/regtree.c
index a8225c026d..ced7a00f94 100644
--- a/source4/lib/registry/tools/regtree.c
+++ b/source4/lib/registry/tools/regtree.c
@@ -88,6 +88,7 @@ static void print_tree(int l, struct registry_key *p, int fullpath, int novals)
POPT_TABLEEND
};
+ regtree_init_subsystems;
if (!lp_load(dyn_CONFIGFILE,True,False,False)) {
fprintf(stderr, "Can't load %s - run testparm to debug it\n", dyn_CONFIGFILE);