]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-ldbm/startup.c
Removed unnecessary definition that is already in core.schema.
[openldap] / servers / slapd / back-ldbm / startup.c
index 41e41ddf0dd84a0980f6cf2b79fd2a0c482eae44..972ea04725414e8ba335ce642403abccf88e3d3b 100644 (file)
@@ -3,6 +3,7 @@
 #include "portable.h"
 
 #include <stdio.h>
+#include <direct.h>
 
 #include <ac/string.h>
 #include <ac/socket.h>
 #include "slap.h"
 #include "back-ldbm.h"
 
-#include "db.h"
+#ifdef HAVE_DB1_DB_H
+#      include <db1/db.h>
+#else
+#      include <db.h>
+#endif
+
+#ifdef HAVE_BERKELEY_DB2
+
+void
+ldbm_db_errcall( const char *prefix, const char *message )
+{
+       Debug( LDAP_DEBUG_ANY, "ldbm_db_errcall(): %s %s", prefix, message, 0 );
+}
+
+#endif  /*  HAVE_BERKELEY_DB2  */
 
 
 void
@@ -20,11 +35,14 @@ ldbm_back_startup(
 )
 {
 #ifndef HAVE_BERKELEY_DB2
+       /* make sure we have one and only one big mutex */
+       static int protect = 0;
 
+       if(!protect++) {
                ldap_pvt_thread_mutex_init( &ldbm_big_mutex );
+       }
 
 #else
-
        struct ldbminfo  *li = (struct ldbminfo *) be->be_private;
        DB_ENV           *dbEnv = &li->li_db_env;
        int    envFlags = DB_CREATE | DB_THREAD;
@@ -33,11 +51,11 @@ ldbm_back_startup(
 
        /*  if the data directory is not an absolute path, have it relative
         to the current working directory (which should not be configured !)  */
-       if ( *li->li_directory != *DEFAULT_DIRSEP ) {
+       if ( *li->li_directory != *DIRSEP ) {
                char   cwd[MAXPATHLEN];
 
                (void) getcwd( cwd, MAXPATHLEN );
-               sprintf( cwd, "%s%s%s", cwd, DEFAULT_DIRSEP, li->li_directory );
+               sprintf( cwd, "%s%s%s", cwd, DIRSEP, li->li_directory );
                free( li->li_directory );
                li->li_directory = strdup( cwd );
 
@@ -51,7 +69,6 @@ ldbm_back_startup(
        dbEnv->db_errcall = ldbm_db_errcall;
        dbEnv->db_errpfx  = "==>";
 
-
        /*  now do the db_appinit  */
        if ( ( err = db_appinit( home, NULL, dbEnv, envFlags )) ) {
                char  error[BUFSIZ];
@@ -65,7 +82,6 @@ ldbm_back_startup(
                exit( 1 );
 
        }
-
 #endif
 }
 
@@ -76,23 +92,8 @@ ldbm_back_shutdown(
 )
 {
 #ifdef HAVE_BERKELEY_DB2
-
        struct ldbminfo  *li = (struct ldbminfo *) be->be_private;
 
        (void) db_appexit( &li->li_db_env );
-
 #endif
 }
-
-
-#ifdef HAVE_BERKELEY_DB2
-
-void
-ldbm_db_errcall( char *prefix, char *message )
-{
-       Debug( LDAP_DEBUG_ANY, "ldbm_db_errcall(): %s %s", prefix, message, 0 );
-}
-
-
-#endif  /*  HAVE_BERKELEY_DB2  */
-