mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-30 13:30:57 +08:00
Use gmtime_r() if HAVE_GMTIME_R is defined (need to add autoconf check)
This commit is contained in:
parent
369b1515db
commit
399b57eada
@ -65,7 +65,9 @@ struct berval NoAttrs = BER_BVC( LDAP_NO_ATTRS );
|
||||
*/
|
||||
ldap_pvt_thread_pool_t connection_pool;
|
||||
int connection_pool_max = SLAP_MAX_WORKER_THREADS;
|
||||
#ifndef HAVE_GMTIME_R
|
||||
ldap_pvt_thread_mutex_t gmtime_mutex;
|
||||
#endif
|
||||
#if defined( SLAPD_CRYPT ) || defined( SLAPD_SPASSWD )
|
||||
ldap_pvt_thread_mutex_t passwd_mutex;
|
||||
#endif
|
||||
@ -153,7 +155,9 @@ slap_init( int mode, const char *name )
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_GMTIME_R
|
||||
ldap_pvt_thread_mutex_init( &gmtime_mutex );
|
||||
#endif
|
||||
#if defined( SLAPD_CRYPT ) || defined( SLAPD_SPASSWD )
|
||||
ldap_pvt_thread_mutex_init( &passwd_mutex );
|
||||
#endif
|
||||
|
@ -801,15 +801,24 @@ int slap_mods_opattrs(
|
||||
|
||||
if ( SLAP_LASTMOD( op->o_bd )) {
|
||||
struct tm *ltm;
|
||||
#ifdef HAVE_GMTIME_R
|
||||
struct tm ltm_buf;
|
||||
#endif
|
||||
time_t now = slap_get_time();
|
||||
|
||||
#ifdef HAVE_GMTIME_R
|
||||
ltm = gmtime_r( &now, <m_buf );
|
||||
#else
|
||||
ldap_pvt_thread_mutex_lock( &gmtime_mutex );
|
||||
ltm = gmtime( &now );
|
||||
#endif /* HAVE_GMTIME_R */
|
||||
lutil_gentime( timebuf, sizeof(timebuf), ltm );
|
||||
|
||||
slap_get_csn( op, csnbuf, sizeof(csnbuf), &csn, 1 );
|
||||
|
||||
#ifndef HAVE_GMTIME_R
|
||||
ldap_pvt_thread_mutex_unlock( &gmtime_mutex );
|
||||
#endif
|
||||
|
||||
timestamp.bv_val = timebuf;
|
||||
timestamp.bv_len = strlen(timebuf);
|
||||
|
@ -1242,7 +1242,9 @@ LDAP_SLAPD_V (ldap_pvt_thread_mutex_t) replog_mutex;
|
||||
#if defined( SLAPD_CRYPT ) || defined( SLAPD_SPASSWD )
|
||||
LDAP_SLAPD_V (ldap_pvt_thread_mutex_t) passwd_mutex;
|
||||
#endif
|
||||
#ifndef HAVE_GMTIME_R
|
||||
LDAP_SLAPD_V (ldap_pvt_thread_mutex_t) gmtime_mutex;
|
||||
#endif
|
||||
|
||||
LDAP_SLAPD_V (AccessControl *) global_acl;
|
||||
|
||||
|
@ -132,6 +132,9 @@ schema_info( Entry **entry, const char **text )
|
||||
|
||||
{
|
||||
struct tm *ltm;
|
||||
#ifdef HAVE_GMTIME_R
|
||||
struct tm ltm_buf;
|
||||
#endif
|
||||
char timebuf[ LDAP_LUTIL_GENTIME_BUFSIZE ];
|
||||
|
||||
/*
|
||||
@ -145,10 +148,16 @@ schema_info( Entry **entry, const char **text )
|
||||
* AND modified at server startup time ...
|
||||
*/
|
||||
|
||||
#ifdef HAVE_GMTIME_R
|
||||
ltm = gmtime_r( &starttime, <m_buf );
|
||||
#else
|
||||
ldap_pvt_thread_mutex_lock( &gmtime_mutex );
|
||||
ltm = gmtime( &starttime );
|
||||
#endif /* HAVE_GMTIME_R */
|
||||
lutil_gentime( timebuf, sizeof(timebuf), ltm );
|
||||
#ifndef HAVE_GMTIME_R
|
||||
ldap_pvt_thread_mutex_unlock( &gmtime_mutex );
|
||||
#endif
|
||||
|
||||
vals[0].bv_val = timebuf;
|
||||
vals[0].bv_len = strlen( timebuf );
|
||||
|
Loading…
Reference in New Issue
Block a user