dns_slabtop_t *related = top->related;
- ISC_SIEVE_UNLINK(qpdb->buckets[idx].sieve, top, link);
+ if (ISC_SIEVE_LINKED(top, link)) {
+ ISC_SIEVE_UNLINK(qpdb->buckets[idx].sieve, top, link);
+ }
dns_slabheader_t *header = first_header(top);
expired += expireheader(header, nlocktypep, tlocktypep,
cds_list_del(&top->types_link);
- if (ISC_LINK_LINKED(top, link)) {
+ if (ISC_SIEVE_LINKED(top, link)) {
ISC_SIEVE_UNLINK(
qpdb->buckets[node->locknum].sieve, top,
link);
cds_list_add(&newheader->headers_link,
&oldheader->top->headers);
- ISC_SIEVE_UNLINK(qpdb->buckets[qpnode->locknum].sieve,
- oldheader->top, link);
+ if (ISC_SIEVE_LINKED(oldheader->top, link)) {
+ ISC_SIEVE_UNLINK(qpdb->buckets[qpnode->locknum].sieve,
+ oldheader->top, link);
+ }
qpcache_miss(qpdb, newheader, &nlocktype,
&tlocktype DNS__DB_FLARG_PASS);
dns_slabheader_destroy(&header);
}
- if (ISC_LINK_LINKED(top, link)) {
+ if (ISC_SIEVE_LINKED(top, link)) {
ISC_SIEVE_UNLINK(qpdb->buckets[qpnode->locknum].sieve,
top, link);
}