C   33
fctx finddone
Guest on 10th March 2023 12:17:17 AM


  1. fctx_finddone(isc_task_t *task, isc_event_t *event) {
  2.         isc_boolean_t want_try = ISC_FALSE;
  3.         isc_boolean_t want_done = ISC_FALSE;
  4.         isc_boolean_t bucket_empty = ISC_FALSE;
  5. -       isc_boolean_t destroy = ISC_FALSE;
  6.         unsigned int bucketnum;
  7.  
  8.         find = event->ev_sender;
  9. @@ -2205,17 +2204,12 @@ fctx_finddone(isc_task_t *task, isc_event_t *event) {
  10.                 }
  11.         } else if (SHUTTINGDOWN(fctx) && fctx->pending == 0 &&
  12.                    fctx->nqueries == 0 && ISC_LIST_EMPTY(fctx->validators)) {
  13. -               /*
  14. -                * Note that we had to wait until we had the lock before
  15. -                * looking at fctx->references.
  16. -                */
  17. +
  18.                 if (fctx->references == 0)
  19. -                       destroy = ISC_TRUE;
  20. +                       bucket_empty = fctx_destroy(fctx);
  21.         }
  22.         UNLOCK(&res->buckets[bucketnum].lock);
  23.  
  24. -       if (destroy)
  25. -               bucket_empty = fctx_destroy(fctx);
  26.         isc_event_free(&event);
  27.         dns_adb_destroyfind(&find);

Raw Paste

Login or Register to edit or fork this paste. It's free.