summaryrefslogtreecommitdiff
path: root/source4/utils
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/utils
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/utils')
-rw-r--r--source4/utils/getntacl.c2
-rw-r--r--source4/utils/ndrdump.c2
-rw-r--r--source4/utils/net/net.c1
-rw-r--r--source4/utils/ntlm_auth.c2
-rw-r--r--source4/utils/setntacl.c2
-rw-r--r--source4/utils/setnttoken.c2
6 files changed, 11 insertions, 0 deletions
diff --git a/source4/utils/getntacl.c b/source4/utils/getntacl.c
index 6045e72013..034224c66d 100644
--- a/source4/utils/getntacl.c
+++ b/source4/utils/getntacl.c
@@ -99,6 +99,8 @@ int main(int argc, char **argv)
struct ndr_pull *ndr;
NTSTATUS result;
+ static_init_getntacl;
+
mem_ctx = talloc_init("getntacl");
/* Fetch ACL data */
diff --git a/source4/utils/ndrdump.c b/source4/utils/ndrdump.c
index 1edf8eda6c..826f0c6c6e 100644
--- a/source4/utils/ndrdump.c
+++ b/source4/utils/ndrdump.c
@@ -109,6 +109,8 @@ static void show_functions(const struct dcerpc_interface_table *p)
POPT_TABLEEND
};
+ ndrdump_init_subsystems;
+
DEBUGLEVEL = 10;
setup_logging("ndrdump", DEBUG_STDOUT);
diff --git a/source4/utils/net/net.c b/source4/utils/net/net.c
index 380afd6120..dcd663d3fd 100644
--- a/source4/utils/net/net.c
+++ b/source4/utils/net/net.c
@@ -232,5 +232,6 @@ static int binary_net(int argc, const char **argv)
int main(int argc, const char **argv)
{
+ net_init_subsystems;
return binary_net(argc, argv);
}
diff --git a/source4/utils/ntlm_auth.c b/source4/utils/ntlm_auth.c
index 8d7f750af6..5cc02ffbb2 100644
--- a/source4/utils/ntlm_auth.c
+++ b/source4/utils/ntlm_auth.c
@@ -861,6 +861,8 @@ enum {
POPT_TABLEEND
};
+ ntlm_auth_init_subsystems;
+
/* Samba client initialisation */
setup_logging("ntlm_auth", DEBUG_STDERR);
diff --git a/source4/utils/setntacl.c b/source4/utils/setntacl.c
index 3565da2a79..cd9f262e12 100644
--- a/source4/utils/setntacl.c
+++ b/source4/utils/setntacl.c
@@ -61,6 +61,8 @@ static void setntacl(char *filename, struct security_descriptor *sd)
TALLOC_CTX *mem_ctx;
struct security_acl *acl;
+ static_init_ntacl;
+
setup_logging("setntacl", DEBUG_STDOUT);
mem_ctx = talloc_init("setntacl");
diff --git a/source4/utils/setnttoken.c b/source4/utils/setnttoken.c
index 06544d0bc7..ccdd7a5578 100644
--- a/source4/utils/setnttoken.c
+++ b/source4/utils/setnttoken.c
@@ -41,6 +41,8 @@ int main(int argc, char **argv)
NTSTATUS status;
TALLOC_CTX *mem_ctx;
+ static_init_setnttoken;
+
setup_logging("setnttoken", DEBUG_STDOUT);
mem_ctx = talloc_init("setnttoken");