diff options
author | Jeremy Allison <jra@samba.org> | 2001-02-27 19:22:02 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2001-02-27 19:22:02 +0000 |
commit | 5265ce7837a185977f71bcb39a41b57492e24964 (patch) | |
tree | bc5f6b359d30f74f156af64de8253c2e8d311343 /source3/include | |
parent | dbc5cace14de14556da7a32cd9f4a82ef522e401 (diff) | |
download | samba-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.h | 16 | ||||
-rw-r--r-- | source3/include/talloc.h | 1 |
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 |