Commit 329bd66d authored by Howard Chu's avatar Howard Chu
Browse files

Use a separate mutex for the replication timestamp

parent e8450ad5
......@@ -91,6 +91,7 @@ ldap_pvt_thread_mutex_t num_sent_mutex;
*/
ldap_pvt_thread_mutex_t entry2str_mutex;
ldap_pvt_thread_mutex_t replog_mutex;
ldap_pvt_thread_mutex_t repstamp_mutex;
static const char* slap_name = NULL;
int slapMode = SLAP_UNDEFINED_MODE;
......@@ -142,6 +143,7 @@ slap_init( int mode, const char *name )
ldap_pvt_thread_mutex_init( &entry2str_mutex );
ldap_pvt_thread_mutex_init( &replog_mutex );
ldap_pvt_thread_mutex_init( &repstamp_mutex );
ldap_pvt_thread_mutex_init( &num_ops_mutex );
ldap_pvt_thread_mutex_init( &num_sent_mutex );
......
......@@ -1246,6 +1246,7 @@ LDAP_SLAPD_V (int) connection_pool_max;
LDAP_SLAPD_V (ldap_pvt_thread_mutex_t) entry2str_mutex;
LDAP_SLAPD_V (ldap_pvt_thread_mutex_t) replog_mutex;
LDAP_SLAPD_V (ldap_pvt_thread_mutex_t) repstamp_mutex;
#if defined( SLAPD_CRYPT ) || defined( SLAPD_SPASSWD )
LDAP_SLAPD_V (ldap_pvt_thread_mutex_t) passwd_mutex;
......
......@@ -129,7 +129,7 @@ replog1( struct slap_replica_info *ri, Operation *op, FILE *fp );
void
repstamp( Operation *op )
{
ldap_pvt_thread_mutex_lock( &replog_mutex );
ldap_pvt_thread_mutex_lock( &repstamp_mutex );
op->o_time = slap_get_time();
if ( op->o_time == oldstamp.time ) {
op->o_tseq = ++oldstamp.seq;
......@@ -138,7 +138,7 @@ repstamp( Operation *op )
oldstamp.seq = 0;
op->o_tseq = 0;
}
ldap_pvt_thread_mutex_unlock( &replog_mutex );
ldap_pvt_thread_mutex_unlock( &repstamp_mutex );
}
void
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment