From: Rein Tollevik Date: Tue, 28 Oct 2008 20:33:46 +0000 (+0000) Subject: ITS#5776 prevent duplicate removal of qtask from runqueue. X-Git-Tag: ACLCHECK_0~1184 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=7ec3743aa5d570af3d99f1b524d0caeeaaa22056;p=openldap ITS#5776 prevent duplicate removal of qtask from runqueue. --- diff --git a/servers/slapd/overlays/syncprov.c b/servers/slapd/overlays/syncprov.c index db113f042b..7aaa5f9c67 100644 --- a/servers/slapd/overlays/syncprov.c +++ b/servers/slapd/overlays/syncprov.c @@ -908,6 +908,10 @@ syncprov_qplay( Operation *op, struct re_s *rtask ) } else { /* bail out on any error */ ldap_pvt_runqueue_remove( &slapd_rq, rtask ); + + /* Prevent duplicate remove */ + if ( so->s_qtask == rtask ) + so->s_qtask = NULL; } ldap_pvt_thread_mutex_unlock( &slapd_rq.rq_mutex ); ldap_pvt_thread_mutex_unlock( &so->s_mutex );