diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/Makefile.in | 1 | ||||
-rw-r--r-- | source3/lib/tallocmsg.c | 45 | ||||
-rw-r--r-- | source3/smbd/server.c | 1 | ||||
-rw-r--r-- | source3/utils/smbcontrol.c | 2 |
4 files changed, 47 insertions, 2 deletions
diff --git a/source3/Makefile.in b/source3/Makefile.in index 0beecd2d1f..c0a35b75c7 100644 --- a/source3/Makefile.in +++ b/source3/Makefile.in @@ -121,6 +121,7 @@ LIB_OBJ = lib/charcnv.o lib/debug.o lib/fault.o \ lib/util.o lib/util_sock.o lib/util_sec.o smbd/ssl.o \ lib/talloc.o lib/hash.o lib/substitute.o lib/fsusage.o \ lib/ms_fnmatch.o lib/select.o lib/error.o lib/messages.o \ + lib/tallocmsg.o \ lib/md5.o lib/hmacmd5.o lib/iconv.o lib/smbpasswd.o \ nsswitch/wb_client.o nsswitch/wb_common.o \ intl/lang_tdb.o lib/account_pol.o $(TDB_OBJ) diff --git a/source3/lib/tallocmsg.c b/source3/lib/tallocmsg.c new file mode 100644 index 0000000000..e98e457880 --- /dev/null +++ b/source3/lib/tallocmsg.c @@ -0,0 +1,45 @@ +/* + samba -- Unix SMB/Netbios implementation. + Copyright (C) 2001 by Martin Pool + + 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 + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#include "includes.h" + +/** + * @file tallocmsg.c + * + * Glue code between talloc profiling and the Samba messaging system. + **/ + + +/** + * Respond to a POOL_USAGE message by sending back string form of memory + * usage stats. + **/ +void msg_pool_usage(int msg_type, pid_t pid, void *buf, size_t len) +{ + DEBUG(2,("Got POOL_USAGE\n")); +} + +/** + * Register handler for MSG_REQ_POOL_USAGE + **/ +void register_msg_pool_usage(void) +{ + message_register(MSG_REQ_POOL_USAGE, msg_pool_usage); + DEBUG(2, ("Registered MSG_REQ_POOL_USAGE\n")); +} diff --git a/source3/smbd/server.c b/source3/smbd/server.c index 101d49c144..900f5b4846 100644 --- a/source3/smbd/server.c +++ b/source3/smbd/server.c @@ -805,6 +805,7 @@ static void usage(char *pname) if (!message_init()) { exit(1); } + register_msg_pool_usage(); /* Setup the main smbd so that we can get messages. */ claim_connection(NULL,"",MAXSTATUS,True); diff --git a/source3/utils/smbcontrol.c b/source3/utils/smbcontrol.c index 98e998a4f7..4f89ae37b5 100644 --- a/source3/utils/smbcontrol.c +++ b/source3/utils/smbcontrol.c @@ -401,7 +401,6 @@ static BOOL do_command(char *dest, char *msg_name, int iparams, char **params) break; case MSG_REQ_POOL_USAGE: - { if (!pool_usage_registered) { message_register(MSG_POOL_USAGE, pool_usage_cb); pool_usage_registered = True; @@ -412,7 +411,6 @@ static BOOL do_command(char *dest, char *msg_name, int iparams, char **params) break; } - } return (True); } |