- STAILQ_FOREACH( o, &conn->c_pending_ops, o_next ) {
- if ( o->o_msgid == id )
- break;
+ LDAP_STAILQ_FOREACH( o, &conn->c_pending_ops, o_next ) {
+ if ( o->o_msgid == id ) {
+ LDAP_STAILQ_REMOVE( &conn->c_pending_ops, o, slap_op, o_next );
+ slap_op_free( o );
+ goto done;
+ }