From: Howard Chu Date: Wed, 24 Dec 2003 14:32:33 +0000 (+0000) Subject: Use a separate mutex for the replication timestamp X-Git-Tag: OPENLDAP_REL_ENG_2_1_MP~104 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=329bd66d6ab650e052929af9ccc35bb7416bd87d;p=openldap Use a separate mutex for the replication timestamp --- diff --git a/servers/slapd/init.c b/servers/slapd/init.c index 6ab7262322..71c3477b51 100644 --- a/servers/slapd/init.c +++ b/servers/slapd/init.c @@ -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 ); diff --git a/servers/slapd/proto-slap.h b/servers/slapd/proto-slap.h index 11871540a4..2334edef12 100644 --- a/servers/slapd/proto-slap.h +++ b/servers/slapd/proto-slap.h @@ -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; diff --git a/servers/slapd/repl.c b/servers/slapd/repl.c index eb20c6681e..cb50ba6879 100644 --- a/servers/slapd/repl.c +++ b/servers/slapd/repl.c @@ -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