protected override void Dispose()

in Core/src/Impl/Storages/ZipHelpers/PooledZipArchiveProvider.cs [56:76]


    protected override void Dispose(bool disposing)
    {
      if (disposing && !myIsDisposed)
      {
        for (int i = 0; i < ConcurrencyLevel; i++)
          myConcurrencyLimiter.Wait();

        try
        {
          while (myContainers.TryPop(out var container))
            container.Dispose();
        }
        finally
        {
          myConcurrencyLimiter.Release(ConcurrencyLevel);
        }
        
        myConcurrencyLimiter.Dispose();
        myIsDisposed = true;
      }
    }