]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/repl.c
use asynchronous StartTLS
[openldap] / servers / slapd / repl.c
index 8ebc23ac7597bee43a012d1655ac886321538dfa..28a2100a57ca14d7298a81d71a0928d575da56d1 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2004 The OpenLDAP Foundation.
+ * Copyright 1998-2005 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -134,15 +134,17 @@ replog( Operation *op )
 #endif
        int     subsets = 0;
        long now = slap_get_time();
+       char    *replogfile;
 
-       if ( op->o_bd->be_replogfile == NULL && frontendDB->be_replogfile == NULL ) {
+       replogfile = op->o_bd->be_replogfile ? op->o_bd->be_replogfile :
+               frontendDB->be_replogfile;
+       if ( !replogfile ) {
                return;
        }
 
-       ldap_pvt_thread_mutex_lock( &SLAPD_GLOBAL(replog_mutex) );
-       if ( (fp = lock_fopen( op->o_bd->be_replogfile ? op->o_bd->be_replogfile :
-           frontendDB->be_replogfile, "a", &lfp )) == NULL ) {
-               ldap_pvt_thread_mutex_unlock( &SLAPD_GLOBAL(replog_mutex) );
+       ldap_pvt_thread_mutex_lock( &replog_mutex );
+       if ( (fp = lock_fopen( replogfile, "a", &lfp )) == NULL ) {
+               ldap_pvt_thread_mutex_unlock( &replog_mutex );
                return;
        }
 
@@ -183,7 +185,7 @@ replog( Operation *op )
                /* if no replicas matched, drop the log 
                 * (should we log it anyway?) */
                lock_fclose( fp, lfp );
-               ldap_pvt_thread_mutex_unlock( &SLAPD_GLOBAL(replog_mutex) );
+               ldap_pvt_thread_mutex_unlock( &replog_mutex );
 
                return;
        }
@@ -231,7 +233,7 @@ replog( Operation *op )
        }
 
        lock_fclose( fp, lfp );
-       ldap_pvt_thread_mutex_unlock( &SLAPD_GLOBAL(replog_mutex) );
+       ldap_pvt_thread_mutex_unlock( &replog_mutex );
 }
 
 static void