From 71db46ea665606384f2be1be708c74c97c9adfb2 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Sat, 6 Nov 2004 23:23:15 +0000 Subject: 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) --- source4/auth/auth.c | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) (limited to 'source4/auth/auth.c') diff --git a/source4/auth/auth.c b/source4/auth/auth.c index ae8b29e87d..58075b4c75 100644 --- a/source4/auth/auth.c +++ b/source4/auth/auth.c @@ -480,28 +480,19 @@ const struct auth_critical_sizes *auth_interface_version(void) /* initialise the AUTH subsystem */ -BOOL auth_init(void) +NTSTATUS auth_init(void) { NTSTATUS status; - /* ugly cludge, to go away */ - static BOOL initialised; - - if (initialised) { - return True; - } - status = register_subsystem("auth", auth_register); if (!NT_STATUS_IS_OK(status)) { - return False; + return status; } - /* FIXME: Perhaps panic if a basic backend, such as SAM, fails to initialise? */ - static_init_auth; - - initialised = True; + auth_init_static_modules; + DEBUG(3,("AUTH subsystem version %d initialised\n", AUTH_INTERFACE_VERSION)); - return True; + return status; } NTSTATUS server_service_auth_init(void) -- cgit