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/librpc/config.mk | 1 + source4/librpc/rpc/dcerpc.c | 6 ++++++ 2 files changed, 7 insertions(+) (limited to 'source4/librpc') diff --git a/source4/librpc/config.mk b/source4/librpc/config.mk index a359f13f54..09e2a278c4 100644 --- a/source4/librpc/config.mk +++ b/source4/librpc/config.mk @@ -30,6 +30,7 @@ ADD_OBJ_FILES = \ ################################################ # Start SUBSYSTEM LIBNDR_GEN [SUBSYSTEM::LIBNDR_GEN] +INIT_FUNCTION = librpc_init INIT_OBJ_FILES = \ librpc/gen_ndr/tables.o ADD_OBJ_FILES = \ diff --git a/source4/librpc/rpc/dcerpc.c b/source4/librpc/rpc/dcerpc.c index 3c05c303af..27292bc8c3 100644 --- a/source4/librpc/rpc/dcerpc.c +++ b/source4/librpc/rpc/dcerpc.c @@ -24,6 +24,12 @@ #include "dlinklist.h" #include "librpc/gen_ndr/ndr_epmapper.h" +NTSTATUS librpc_init(void) +{ + /* FIXME: Register module registration function here */ + return NT_STATUS_OK; +} + /* initialise a dcerpc pipe. */ struct dcerpc_pipe *dcerpc_pipe_init(void) { -- cgit