smbd should register to receive MSG_REQ_POOL_USAGE. Response should
authorMartin Pool <mbp@samba.org>
Thu, 3 Jan 2002 03:53:41 +0000 (03:53 +0000)
committerMartin Pool <mbp@samba.org>
Thu, 3 Jan 2002 03:53:41 +0000 (03:53 +0000)
be information about memory usage, but this is not done yet.
(This used to be commit 830a126a442bdde28fc42e23e7260c344b6534b9)

source3/Makefile.in
source3/lib/tallocmsg.c [new file with mode: 0644]
source3/smbd/server.c
source3/utils/smbcontrol.c

index 0beecd2d1feec9167ea83bb87f84fa66d5f0a20b..c0a35b75c704eb6bc5903afbe281d1d3e5e239b2 100644 (file)
@@ -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 (file)
index 0000000..e98e457
--- /dev/null
@@ -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"));
+}      
index 101d49c144bd58847e6d4e01d92c480cd34cc074..900f5b4846f12338c2991f0c950cafa40ecdfcf9 100644 (file)
@@ -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);
index 98e998a4f768e7c9048ed87191a3710921d1d675..4f89ae37b5df20a7f37aeb158b3c29e4cdaf8f5c 100644 (file)
@@ -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);
 }