--- servers/slapd/overlays/syncprov.c 2008/10/17 15:40:49 1.248 +++ servers/slapd/overlays/syncprov.c 2008/10/28 19:33:46 1.249 @@ -1,4 +1,4 @@ -/* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.247 2008/09/16 12:44:25 ando Exp $ */ +/* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.248 2008/10/17 15:40:49 hallvard Exp $ */ /* syncprov.c - syncrepl provider */ /* This work is part of OpenLDAP Software . * @@ -908,6 +908,10 @@ syncprov_qplay( Operation *op, struct re } 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 );