summaryrefslogtreecommitdiff
path: root/source3/smbd/server.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/smbd/server.c')
-rw-r--r--source3/smbd/server.c43
1 files changed, 29 insertions, 14 deletions
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index 8ce20c87a4..056231c344 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -3,7 +3,7 @@
Main SMB server routines
Copyright (C) Andrew Tridgell 1992-1998
Copyright (C) Martin Pool 2002
- Copyright (C) Jelmer Vernooij 2002-2003
+ Copyright (C) Jelmer Vernooij 2002
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -501,6 +501,25 @@ BOOL reload_services(BOOL test)
return(ret);
}
+/*******************************************************************
+ Print out all talloc memory info.
+********************************************************************/
+
+void return_all_talloc_info(int msg_type, pid_t src_pid, void *buf, size_t len)
+{
+ TALLOC_CTX *ctx = talloc_init("info context");
+ char *info = NULL;
+
+ if (!ctx)
+ return;
+
+ info = talloc_describe_all(ctx);
+ if (info)
+ DEBUG(10,(info));
+ message_send_pid(src_pid, MSG_TALLOC_USAGE, info, info ? strlen(info) + 1 : 0, True);
+ talloc_destroy(ctx);
+}
+
#if DUMP_CORE
/*******************************************************************
prepare to dump a core file - carefully!
@@ -650,7 +669,11 @@ static BOOL init_structs(void )
{"log-stdout", 'S', POPT_ARG_VAL, &log_stdout, True, "Log to stdout" },
{"build-options", 'b', POPT_ARG_NONE, NULL, 'b', "Print build options" },
{"port", 'p', POPT_ARG_STRING, &ports, 0, "Listen on the specified ports"},
- POPT_COMMON_SAMBA
+ {NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_debug},
+ {NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_configfile},
+ {NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_socket_options},
+ {NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_log_base},
+ {NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_version},
{ NULL }
};
@@ -802,6 +825,10 @@ static BOOL init_structs(void )
if (!message_init())
exit(1);
+ register_msg_pool_usage();
+ register_dmalloc_msgs();
+ message_register(MSG_REQ_TALLOC_USAGE, return_all_talloc_info);
+
if (!print_backend_init())
exit(1);
@@ -833,16 +860,9 @@ static BOOL init_structs(void )
if (!init_registry())
exit(1);
- if (!idmap_init(lp_idmap_backend()))
- exit(1);
-
if(!initialize_password_db(False))
exit(1);
- static_init_rpc;
-
- init_modules();
-
uni_group_cache_init(); /* Non-critical */
/* possibly reload the services file. */
@@ -871,10 +891,6 @@ static BOOL init_structs(void )
if (!init_change_notify())
exit(1);
- /* Setup privileges database */
- if (!privilege_init())
- exit(1);
-
/* re-initialise the timezone */
TimeInit();
@@ -884,7 +900,6 @@ static BOOL init_structs(void )
smbd_process();
uni_group_cache_shutdown();
- namecache_shutdown();
exit_server("normal exit");
return(0);
}