summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2001-02-27 19:22:02 +0000
committerJeremy Allison <jra@samba.org>2001-02-27 19:22:02 +0000
commit5265ce7837a185977f71bcb39a41b57492e24964 (patch)
treebc5f6b359d30f74f156af64de8253c2e8d311343 /source3/include
parentdbc5cace14de14556da7a32cd9f4a82ef522e401 (diff)
downloadsamba-5265ce7837a185977f71bcb39a41b57492e24964.tar.gz
samba-5265ce7837a185977f71bcb39a41b57492e24964.tar.bz2
samba-5265ce7837a185977f71bcb39a41b57492e24964.zip
Added total memory allocated counter to talloc, so we can tell if a talloc
pool is getting bloated. Also added a talloc_zero function to return zeroed memory. Added debug in rpc_server/srv_pipe_hnd.c so we know when a talloc pool is being freed. Syncup with srv_pipe_hnd.c from 2.2 so we are freeing memory at the same time. Jeremy. (This used to be commit d3a56c6042acf037bbd53de88d7636a5803ead20)
Diffstat (limited to 'source3/include')
-rw-r--r--source3/include/proto.h16
-rw-r--r--source3/include/talloc.h1
2 files changed, 16 insertions, 1 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h
index b525b039ff..bcde386362 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -367,6 +367,8 @@ TALLOC_CTX *talloc_init(void);
void *talloc(TALLOC_CTX *t, size_t size);
void talloc_destroy_pool(TALLOC_CTX *t);
void talloc_destroy(TALLOC_CTX *t);
+size_t talloc_pool_size(TALLOC_CTX *t);
+void *talloc_zero(TALLOC_CTX *t, size_t size);
/*The following definitions come from lib/time.c */
@@ -2398,7 +2400,11 @@ BOOL lsa_io_r_open_secret(char *desc, LSA_R_OPEN_SECRET *r_c, prs_struct *ps, in
/*The following definitions come from rpc_parse/parse_misc.c */
-void parse_talloc_free(void);
+TALLOC_CTX *get_current_rpc_talloc(void);
+void set_current_rpc_talloc( TALLOC_CTX *ctx);
+void main_loop_talloc_free(void);
+TALLOC_CTX *main_loop_talloc_get(void);
+TALLOC_CTX *get_talloc_ctx(void);
BOOL smb_io_time(char *desc, NTTIME *nttime, prs_struct *ps, int depth);
BOOL smb_io_lookup_level(char *desc, LOOKUP_LEVEL *level, prs_struct *ps, int depth);
uint32 get_enum_hnd(ENUM_HND *enh);
@@ -3311,6 +3317,14 @@ BOOL wks_io_r_query_info(char *desc, WKS_R_QUERY_INFO *r_u, prs_struct *ps, int
BOOL api_netdfs_rpc(pipes_struct *p);
+/*The following definitions come from rpc_server/srv_dfs_nt.c */
+
+uint32 _dfs_exist(pipes_struct *p, DFS_Q_DFS_EXIST *q_u, DFS_R_DFS_EXIST *r_u);
+uint32 _dfs_add(pipes_struct *p, DFS_Q_DFS_ADD* q_u, DFS_R_DFS_ADD *r_u);
+uint32 _dfs_remove(pipes_struct *p, DFS_Q_DFS_REMOVE *q_u, DFS_R_DFS_REMOVE *r_u);
+uint32 _dfs_enum(pipes_struct *p, DFS_Q_DFS_ENUM *q_u, DFS_R_DFS_ENUM *r_u);
+uint32 _dfs_get_info(pipes_struct *p, DFS_Q_DFS_GET_INFO *q_u, DFS_R_DFS_GET_INFO *r_u);
+
/*The following definitions come from rpc_server/srv_lsa.c */
#if OLD_NTDOMAIN
diff --git a/source3/include/talloc.h b/source3/include/talloc.h
index 85a722d080..32b0f28ae6 100644
--- a/source3/include/talloc.h
+++ b/source3/include/talloc.h
@@ -36,6 +36,7 @@ struct talloc_chunk {
typedef struct {
struct talloc_chunk *list;
+ size_t total_alloc_size;
} TALLOC_CTX;
#endif