ITS#5776 prevent duplicate removal of qtask from runqueue.

This commit is contained in:
Rein Tollevik 2008-10-28 20:33:46 +00:00
parent f5c154408b
commit 7ec3743aa5

View File

@ -908,6 +908,10 @@ syncprov_qplay( Operation *op, struct re_s *rtask )
} else { } else {
/* bail out on any error */ /* bail out on any error */
ldap_pvt_runqueue_remove( &slapd_rq, rtask ); 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( &slapd_rq.rq_mutex );
ldap_pvt_thread_mutex_unlock( &so->s_mutex ); ldap_pvt_thread_mutex_unlock( &so->s_mutex );