summaryrefslogtreecommitdiffstats
path: root/source/smbd
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2002-01-14 19:34:28 +0000
committerJeremy Allison <jra@samba.org>2002-01-14 19:34:28 +0000
commit5b2b9c25af28543e67762805d1387524cbb6c39d (patch)
tree66c25f98805728f9ea40df85a3f32889bcf7717a /source/smbd
parent682e7cd394c1e1cc9a83f7e8e5e3694e083946c4 (diff)
downloadsamba-5b2b9c25af28543e67762805d1387524cbb6c39d.tar.gz
samba-5b2b9c25af28543e67762805d1387524cbb6c39d.tar.xz
samba-5b2b9c25af28543e67762805d1387524cbb6c39d.zip
Removed MAXSTATUS which was set incorrectly - thus causing tdb traversal
of the connections db on smbd startup. This should fix the Solaris large load bug.... (fingers crossed). Jeremy.
Diffstat (limited to 'source/smbd')
-rw-r--r--source/smbd/connection.c2
-rw-r--r--source/smbd/server.c25
-rw-r--r--source/smbd/service.c14
3 files changed, 14 insertions, 27 deletions
diff --git a/source/smbd/connection.c b/source/smbd/connection.c
index c0eaf8187db..da904e0a04a 100644
--- a/source/smbd/connection.c
+++ b/source/smbd/connection.c
@@ -37,7 +37,7 @@ TDB_CONTEXT *conn_tdb_ctx(void)
Delete a connection record.
****************************************************************************/
-BOOL yield_connection(connection_struct *conn,char *name,int max_connections)
+BOOL yield_connection(connection_struct *conn,char *name)
{
struct connections_key key;
TDB_DATA kbuf;
diff --git a/source/smbd/server.c b/source/smbd/server.c
index b8e9c2beae1..330feece916 100644
--- a/source/smbd/server.c
+++ b/source/smbd/server.c
@@ -494,7 +494,7 @@ void exit_server(char *reason)
invalidate_all_vuids();
/* delete our entry in the connections database. */
- yield_connection(NULL,"",MAXSTATUS);
+ yield_connection(NULL,"");
respond_to_all_remaining_local_messages();
decrement_smbd_process_count();
@@ -812,7 +812,7 @@ static void usage(char *pname)
register_dmalloc_msgs();
/* Setup the main smbd so that we can get messages. */
- claim_connection(NULL,"",MAXSTATUS,True);
+ claim_connection(NULL,"",0,True);
/*
DO NOT ENABLE THIS TILL YOU COPE WITH KILLING THESE TASKS AND INETD
@@ -828,21 +828,17 @@ static void usage(char *pname)
* everything after this point is run after the fork()
*/
- if (!locking_init(0)) {
+ if (!locking_init(0))
exit(1);
- }
- if (!print_backend_init()) {
+ if (!print_backend_init())
exit(1);
- }
- if (!share_info_db_init()) {
+ if (!share_info_db_init())
exit(1);
- }
- if(!initialize_password_db(False)) {
+ if(!initialize_password_db(False))
exit(1);
- }
/* possibly reload the services file. */
reload_services(True);
@@ -868,19 +864,16 @@ static void usage(char *pname)
}
/* Setup oplocks */
- if (!init_oplocks()) {
+ if (!init_oplocks())
exit(1);
- }
/* Setup mangle */
- if (!init_mangle_tdb()) {
+ if (!init_mangle_tdb())
exit(1);
- }
/* Setup change notify */
- if (!init_change_notify()) {
+ if (!init_change_notify())
exit(1);
- }
smbd_process();
diff --git a/source/smbd/service.c b/source/smbd/service.c
index 8218ca2dc51..120868f24a4 100644
--- a/source/smbd/service.c
+++ b/source/smbd/service.c
@@ -588,9 +588,7 @@ connection_struct *make_connection(char *service, DATA_BLOB password,
ret = smbrun(cmd,NULL);
if (ret != 0 && lp_rootpreexec_close(SNUM(conn))) {
DEBUG(1,("root preexec gave %d - failing connection\n", ret));
- yield_connection(conn,
- lp_servicename(SNUM(conn)),
- lp_max_connections(SNUM(conn)));
+ yield_connection(conn, lp_servicename(SNUM(conn)));
conn_free(conn);
*status = NT_STATUS_UNSUCCESSFUL;
return NULL;
@@ -619,7 +617,7 @@ connection_struct *make_connection(char *service, DATA_BLOB password,
if (ret != 0 && lp_preexec_close(SNUM(conn))) {
DEBUG(1,("preexec gave %d - failing connection\n", ret));
change_to_root_user();
- yield_connection(conn, lp_servicename(SNUM(conn)), lp_max_connections(SNUM(conn)));
+ yield_connection(conn, lp_servicename(SNUM(conn)));
conn_free(conn);
*status = NT_STATUS_UNSUCCESSFUL;
return NULL;
@@ -631,9 +629,7 @@ connection_struct *make_connection(char *service, DATA_BLOB password,
remote_machine, conn->client_address,
conn->connectpath,strerror(errno)));
change_to_root_user();
- yield_connection(conn,
- lp_servicename(SNUM(conn)),
- lp_max_connections(SNUM(conn)));
+ yield_connection(conn, lp_servicename(SNUM(conn)));
conn_free(conn);
*status = NT_STATUS_BAD_NETWORK_NAME;
return NULL;
@@ -713,9 +709,7 @@ void close_cnum(connection_struct *conn, uint16 vuid)
}
- yield_connection(conn,
- lp_servicename(SNUM(conn)),
- lp_max_connections(SNUM(conn)));
+ yield_connection(conn, lp_servicename(SNUM(conn)));
file_close_conn(conn);
dptr_closecnum(conn);