diff options
author | Herb Lewis <herb@samba.org> | 2003-01-09 06:26:04 +0000 |
---|---|---|
committer | Herb Lewis <herb@samba.org> | 2003-01-09 06:26:04 +0000 |
commit | 9151cd7d64a1ee1277cbcfb3e7ed61c32c1037cf (patch) | |
tree | 7266dd015eec0b2f80287e585707e11490cd3099 /source/smbd/process.c | |
parent | 2a974bc284b9d193c24972d073b966eb9b3b3ad0 (diff) | |
download | samba-9151cd7d64a1ee1277cbcfb3e7ed61c32c1037cf.tar.gz samba-9151cd7d64a1ee1277cbcfb3e7ed61c32c1037cf.tar.xz samba-9151cd7d64a1ee1277cbcfb3e7ed61c32c1037cf.zip |
Moved smbd process counting functions from smbd/server.c to smbd/process.c
so that bin/vfstest can link. merge from head
Diffstat (limited to 'source/smbd/process.c')
-rw-r--r-- | source/smbd/process.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/source/smbd/process.c b/source/smbd/process.c index 03b1e007ba6..06cedea5735 100644 --- a/source/smbd/process.c +++ b/source/smbd/process.c @@ -799,6 +799,32 @@ static int construct_reply(char *inbuf,char *outbuf,int size,int bufsize) 'hard' limit Samba overhead on resource constrained systems. ****************************************************************************/ +static BOOL process_count_update_successful = False; + +static int32 increment_smbd_process_count(void) +{ + int32 total_smbds; + + if (lp_max_smbd_processes()) { + total_smbds = 0; + if (tdb_change_int32_atomic(conn_tdb_ctx(), "INFO/total_smbds", &total_smbds, -1) == -1) + return 1; + process_count_update_successful = True; + return total_smbds + 1; + } + return 1; +} + +void decrement_smbd_process_count(void) +{ + int32 total_smbds; + + if (lp_max_smbd_processes() && process_count_update_successful) { + total_smbds = 1; + tdb_change_int32_atomic(conn_tdb_ctx(), "INFO/total_smbds", &total_smbds, -1); + } +} + static BOOL smbd_process_limit(void) { int32 total_smbds; |