nmbd: create the messaging conntext earlier
authorStefan Metzmacher <metze@samba.org>
Tue, 15 Apr 2008 08:50:27 +0000 (10:50 +0200)
committerStefan Metzmacher <metze@samba.org>
Fri, 18 Apr 2008 13:00:19 +0000 (15:00 +0200)
metze
(This used to be commit 056ff094ad2c59992cfdb8b29696c08dab4113d7)

source3/nmbd/nmbd.c

index e765fcb725d145cfe65820c645fb257d942cb36e..9396219ea7282553c3376ee6ea181c57232f24b1 100644 (file)
@@ -762,6 +762,8 @@ static bool open_sockets(bool isdaemon, int port)
        };
        TALLOC_CTX *frame = talloc_stackframe(); /* Setup tos. */
 
+       db_tdb2_setup_messaging(NULL, false);
+
        load_case_tables();
 
        global_nmb_port = NMB_PORT;
@@ -847,7 +849,16 @@ static bool open_sockets(bool isdaemon, int port)
        DEBUG(0,("nmbd version %s started.\n", SAMBA_VERSION_STRING));
        DEBUGADD(0,("%s\n", COPYRIGHT_STARTUP_MESSAGE));
 
-       db_tdb2_setup_messaging(NULL, false);
+       if (!lp_load_initial_only(get_dyn_CONFIGFILE())) {
+               DEBUG(0, ("error opening config file\n"));
+               exit(1);
+       }
+
+       if (nmbd_messaging_context() == NULL) {
+               return 1;
+       }
+
+       db_tdb2_setup_messaging(nmbd_messaging_context(), true);
 
        if ( !reload_nmbd_services(False) )
                return(-1);
@@ -923,8 +934,6 @@ static bool open_sockets(bool isdaemon, int port)
        messaging_register(nmbd_messaging_context(), NULL,
                           MSG_SEND_PACKET, msg_nmbd_send_packet);
 
-       db_tdb2_setup_messaging(nmbd_messaging_context(), true);
-
        TimeInit();
 
        DEBUG( 3, ( "Opening sockets %d\n", global_nmb_port ) );