Tidied up calling yield_connection on connection allocation fail.
authorJeremy Allison <jra@samba.org>
Tue, 17 Jul 2001 22:04:46 +0000 (22:04 +0000)
committerJeremy Allison <jra@samba.org>
Tue, 17 Jul 2001 22:04:46 +0000 (22:04 +0000)
Restore debug message to level zero.
Jeremy.
(This used to be commit 0b13f495b31887d526b46a48a812fa3fd418ce8e)

source3/smbd/connection.c
source3/smbd/service.c

index eeec4a2ca216e2db956e0ed995de992eea0eb2bc..07ded5f4a367ac48dff37761ea38f0ad3babd359 100644 (file)
@@ -58,7 +58,8 @@ BOOL yield_connection(connection_struct *conn,char *name,int max_connections)
        kbuf.dsize = sizeof(key);
 
        if (tdb_delete(tdb, kbuf) != 0) {
-               DEBUG(3,("yield_connection: tdb_delete failed with error %s.\n", tdb_errorstr(tdb) ));
+               DEBUG(0,("yield_connection: tdb_delete for name %s failed with error %s.\n",
+                               name, tdb_errorstr(tdb) ));
                return (False);
        }
 
index 04139be917b3c08ddcee6768fe1bbc99ef49dcfd..2152a3e4df767881e7379bb4069087cb855997d0 100644 (file)
@@ -512,6 +512,7 @@ connection_struct *make_connection(char *service,char *user,char *password, int
                                *ecode = ERRaccess;
                                DEBUG(0,( "make_connection: connection to %s denied due to security descriptor.\n",
                                        service ));
+                               yield_connection(conn, lp_servicename(SNUM(conn)), lp_max_connections(SNUM(conn)));
                                conn_free(conn);
                                return NULL;
                        } else {
@@ -523,6 +524,7 @@ connection_struct *make_connection(char *service,char *user,char *password, int
 
        if (!vfs_init(conn)) {
                DEBUG(0, ("vfs_init failed for service %s\n", lp_servicename(SNUM(conn))));
+               yield_connection(conn, lp_servicename(SNUM(conn)), lp_max_connections(SNUM(conn)));
                conn_free(conn);
                return NULL;
        }
@@ -536,6 +538,7 @@ connection_struct *make_connection(char *service,char *user,char *password, int
                ret = smbrun(cmd,NULL);
                if (ret != 0 && lp_rootpreexec_close(SNUM(conn))) {
                        DEBUG(1,("preexec gave %d - failing connection\n", ret));
+                       yield_connection(conn, lp_servicename(SNUM(conn)), lp_max_connections(SNUM(conn)));
                        conn_free(conn);
                        *ecode = ERRsrverror;
                        return NULL;
@@ -588,6 +591,7 @@ connection_struct *make_connection(char *service,char *user,char *password, int
                ret = smbrun(cmd,NULL);
                if (ret != 0 && lp_preexec_close(SNUM(conn))) {
                        DEBUG(1,("preexec gave %d - failing connection\n", ret));
+                       yield_connection(conn, lp_servicename(SNUM(conn)), lp_max_connections(SNUM(conn)));
                        conn_free(conn);
                        *ecode = ERRsrverror;
                        return NULL;