diff options
Diffstat (limited to 'source3/smbd/server.c')
-rw-r--r-- | source3/smbd/server.c | 43 |
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); } |