From 5243fad848347ac520ee5f11ae5ad5589e9c3dcf Mon Sep 17 00:00:00 2001 From: Dadoum Date: Sat, 12 Aug 2023 00:43:14 +0200 Subject: [PATCH] Downgrade Provision because there is a memory leak in the last version. --- dub.json | 2 +- dub.selections.json | 7 ++++++- source/app.d | 10 ++++++++-- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/dub.json b/dub.json index cfa7c7d..a1704c3 100644 --- a/dub.json +++ b/dub.json @@ -8,7 +8,7 @@ "dependencies": { "provision": { "repository": "git+https://github.com/Dadoum/Provision.git", - "version": "58f339fe988d770da5de4ad7361a619b5deea2f6" + "version": "fa028b6f4e6e2704bf43f92031fe5c3223045f64" }, "slf4d": "~>2.1.1", "vibe-d:web": "~>0.9.7-alpha.2", diff --git a/dub.selections.json b/dub.selections.json index 1257c81..5bf2c28 100644 --- a/dub.selections.json +++ b/dub.selections.json @@ -1,6 +1,8 @@ { "fileVersion": 1, "versions": { + "automem": "0.6.9", + "cachetools": "0.4.1", "diet-ng": "1.8.1", "dxml": "0.4.3", "eventcore": "0.9.25", @@ -11,10 +13,13 @@ "openssl-static": "1.0.2+3.0.8", "plist": "~master", "plist-d": {"version":"d494cf3fe79a2bb20583173c0c8cf85ef33b719e","repository":"git+https://github.com/Dadoum/libplist-d.git"}, - "provision": {"version":"58f339fe988d770da5de4ad7361a619b5deea2f6","repository":"git+https://github.com/Dadoum/Provision.git"}, + "provision": {"version":"fa028b6f4e6e2704bf43f92031fe5c3223045f64","repository":"git+https://github.com/Dadoum/Provision.git"}, + "requests": "2.1.1", "slf4d": "2.1.1", "stdx-allocator": "2.77.5", "taggedalgebraic": "0.11.22", + "test_allocator": "0.3.4", + "unit-threaded": "0.10.8", "vibe-core": "2.2.0", "vibe-d": "0.9.7-alpha.2" } diff --git a/source/app.d b/source/app.d index 7426f11..8d7bf6e 100644 --- a/source/app.d +++ b/source/app.d @@ -241,7 +241,10 @@ class AnisetteService { file.write(provisioningPath.buildPath("adi.pb"), adi_pb); GC.disable(); // garbage collector can deallocate ADI parts since it can't find the pointers. - scope(exit) GC.enable(); + scope(exit) { + GC.enable(); + GC.collect(); + } ADI adi = makeGarbageCollectedADI(libraryPath); adi.provisioningPath = provisioningPath; @@ -330,7 +333,10 @@ class AnisetteService { log.infoF!("[<< %s] Correct identifier (%s).")(requestUUID, identifier); GC.disable(); // garbage collector can deallocate ADI parts since it can't find the pointers. - scope(exit) GC.enable(); + scope(exit) { + GC.enable(); + GC.collect(); + } ADI adi = makeGarbageCollectedADI(libraryPath); auto provisioningPath = file.getcwd() .buildPath("provisioning")