Skip to content

Commit

Permalink
Fix GC issue
Browse files Browse the repository at this point in the history
  • Loading branch information
Dadoum committed Jun 16, 2023
1 parent c4ae446 commit bd870f2
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion source/app.d
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ int main(string[] args) {

// Initializing ADI and machine if it has not already been made.
v1Device = new Device(configurationPath.buildPath("device.json"));
v1Adi = makeGarbageCollectedADI(libraryPath);
v1Adi = new ADI(libraryPath);
v1Adi.provisioningPath = configurationPath;

if (!v1Device.initialized) {
Expand Down Expand Up @@ -217,6 +217,10 @@ class AnisetteService {

file.mkdir(provisioningPath);
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();

ADI adi = makeGarbageCollectedADI(libraryPath);
adi.provisioningPath = provisioningPath;
adi.identifier = identifier.toUpper()[0..16];
Expand Down Expand Up @@ -300,6 +304,8 @@ class AnisetteService {
string identifier = UUID(requestedIdentifier[0..16]).toString();
log.infoF!("[<<] Correct identifier (%s).")(identifier);

GC.disable(); // garbage collector can deallocate ADI parts since it can't find the pointers.
scope(exit) GC.enable();
ADI adi = makeGarbageCollectedADI(libraryPath);
auto provisioningPath = file.getcwd()
.buildPath("provisioning")
Expand Down

0 comments on commit bd870f2

Please sign in to comment.