Commit 26d5294d authored by jan.koester's avatar jan.koester
Browse files

test

parent 2fc05c15
Loading
Loading
Loading
Loading
Loading
+12 −6
Original line number Diff line number Diff line
@@ -533,7 +533,7 @@ namespace authdb {
            if(!dinfo.found)
                return nullptr;

            auto backend = std::make_unique<AuthBackend>(
            auto backend = std::make_shared<AuthBackend>(
                dinfo.storageType, dinfo.storageOptions, dinfo.domainName);

            std::unique_lock<std::shared_mutex> wl(_DomainCacheMtx);
@@ -564,7 +564,7 @@ namespace authdb {
                    dinfo = db.resolve(did);
                }
                if (!dinfo.found) continue;
                auto backend = std::make_unique<AuthBackend>(
                auto backend = std::make_shared<AuthBackend>(
                    dinfo.storageType, dinfo.storageOptions, dinfo.domainName);
                std::unique_lock<std::shared_mutex> wl(_DomainCacheMtx);
                auto key = std::string(did.value, did.value+16);
@@ -594,9 +594,15 @@ namespace authdb {
                          << e.what() << std::endl;
            }
            /* Vacuum all cached domain backends */
            std::vector<std::shared_ptr<AuthBackend>> domainsToVacuum;
            {
                std::shared_lock<std::shared_mutex> rl(_DomainCacheMtx);
                for (auto &[key, domBackend] : _DomainCache) {
                    domainsToVacuum.push_back(domBackend);
                }
            }

            for (auto &domBackend : domainsToVacuum) {
                try {
                    size_t before = 0, after = 0;
                    domBackend->vacuum(before, after);
@@ -621,7 +627,7 @@ namespace authdb {
        std::vector<char>  _AuthJs;
        std::vector<char>  _AuthCss;
        std::shared_mutex                                     _DomainCacheMtx;
        std::map<std::string, std::unique_ptr<AuthBackend>>   _DomainCache;
        std::map<std::string, std::shared_ptr<AuthBackend>>   _DomainCache;
    };

};