diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/smbd/process.c | 6 | ||||
-rw-r--r-- | source3/utils/testparm.c | 5 |
2 files changed, 11 insertions, 0 deletions
diff --git a/source3/smbd/process.c b/source3/smbd/process.c index 4b0da0b466..4b7e80811c 100644 --- a/source3/smbd/process.c +++ b/source3/smbd/process.c @@ -804,6 +804,12 @@ static BOOL smbd_process_limit(void) total_smbds = 1; /* In case we need to create the entry. */ + if (!conn_tdb_ctx()) { + DEBUG(0,("smbd_process_limit: max smbd processes parameter set with status parameter not \ +set. Ignoring max smbd restriction.\n")); + return False; + } + if (tdb_change_int_atomic(conn_tdb_ctx(), "INFO/total_smbds", &total_smbds, 1) == -1) return True; diff --git a/source3/utils/testparm.c b/source3/utils/testparm.c index 09948b8635..9397ea2520 100644 --- a/source3/utils/testparm.c +++ b/source3/utils/testparm.c @@ -157,6 +157,11 @@ via the %%o substitution. With encrypted passwords this is not possible.\n", lp_ } } + if (lp_status(-1) && lp_max_smbd_processes()) { + printf("ERROR: the 'max smbd processes' parameter is set and the 'status' parameter is set to 'no'.\n"); + ret = 1; + } + return ret; } |