summaryrefslogtreecommitdiff
path: root/source3
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
commit9e007457e4aa0ed8656782be1b8af42fc217614b (patch)
treeb5295dc046a5bd25bc82080a6673325c2a87d7cf /source3
parent3353223b4766b0cc87bd1b4ed7f67bc52b2a7da3 (diff)
downloadsamba-9e007457e4aa0ed8656782be1b8af42fc217614b.tar.gz
samba-9e007457e4aa0ed8656782be1b8af42fc217614b.tar.bz2
samba-9e007457e4aa0ed8656782be1b8af42fc217614b.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. (This used to be commit 5b2b9c25af28543e67762805d1387524cbb6c39d)
Diffstat (limited to 'source3')
-rw-r--r--source3/include/local.h3
-rw-r--r--source3/printing/printing.c8
-rw-r--r--source3/smbd/connection.c2
-rw-r--r--source3/smbd/server.c25
-rw-r--r--source3/smbd/service.c14
5 files changed, 19 insertions, 33 deletions
diff --git a/source3/include/local.h b/source3/include/local.h
index da9fee0564..c7abe207c8 100644
--- a/source3/include/local.h
+++ b/source3/include/local.h
@@ -68,7 +68,8 @@
#endif
/* the max number of simultanous connections to the server by all clients */
-#define MAXSTATUS 100000
+/* zero means no limit. */
+#define MAXSTATUS 0
#define WORDMAX 0xFFFF
diff --git a/source3/printing/printing.c b/source3/printing/printing.c
index 08115cdb79..339ca721c6 100644
--- a/source3/printing/printing.c
+++ b/source3/printing/printing.c
@@ -507,15 +507,13 @@ void start_background_queue(void)
/* Child. */
DEBUG(5,("start_background_queue: background LPQ thread started\n"));
- claim_connection(NULL,"smbd lpq backend",MAXSTATUS,False);
+ claim_connection(NULL,"smbd lpq backend",0,False);
- if (!locking_init(0)) {
+ if (!locking_init(0))
exit(1);
- }
- if (!print_backend_init()) {
+ if (!print_backend_init())
exit(1);
- }
message_register(MSG_PRINTER_UPDATE, print_queue_receive);
diff --git a/source3/smbd/connection.c b/source3/smbd/connection.c
index c0eaf8187d..da904e0a04 100644
--- a/source3/smbd/connection.c
+++ b/source3/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/source3/smbd/server.c b/source3/smbd/server.c
index b8e9c2beae..330feece91 100644
--- a/source3/smbd/server.c
+++ b/source3/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/source3/smbd/service.c b/source3/smbd/service.c
index 8218ca2dc5..120868f24a 100644
--- a/source3/smbd/service.c
+++ b/source3/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);