From 0da38889e1c224e310d3039db7791fcc69fee6e5 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Sun, 31 Jan 2021 15:21:55 +0000 Subject: [PATCH] ITS#8541 fix data race in syncprov removal --- servers/slapd/overlays/syncprov.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/servers/slapd/overlays/syncprov.c b/servers/slapd/overlays/syncprov.c index 1289e4b1a4..0935e6e3ba 100644 --- a/servers/slapd/overlays/syncprov.c +++ b/servers/slapd/overlays/syncprov.c @@ -3958,10 +3958,12 @@ syncprov_db_close( for ( so=si->si_ops, sonext=so; so; so=sonext ) { SlapReply rs = {REP_RESULT}; rs.sr_err = LDAP_UNAVAILABLE; + ldap_pvt_thread_mutex_lock( &so->s_mutex ); send_ldap_result( so->s_op, &rs ); sonext=so->s_next; if ( so->s_flags & PS_TASK_QUEUED ) ldap_pvt_thread_pool_retract( so->s_pool_cookie ); + ldap_pvt_thread_mutex_unlock( &so->s_mutex ); if ( !syncprov_drop_psearch( so, 0 )) so->s_si = NULL; }