From 5b44d94730b2ae698ec87d7d8d0a919112beaa2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Max=20L=C3=BCbke?= Date: Thu, 21 Jan 2021 14:07:35 +0100 Subject: [PATCH] Fix freeing of DHT_Wrapper in Destructor if DHT is disabled --- src/model/ChemWorker.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/model/ChemWorker.cpp b/src/model/ChemWorker.cpp index 27d500177..1f62371a1 100644 --- a/src/model/ChemWorker.cpp +++ b/src/model/ChemWorker.cpp @@ -1,5 +1,4 @@ #include -#include #include #include @@ -62,7 +61,7 @@ ChemWorker::ChemWorker(t_simparams *params_, RRuntime &R_, Grid &grid_, ChemWorker::~ChemWorker() { free(mpi_buffer); free(mpi_buffer_results); - delete dht; + if (dht_enabled) delete dht; } void ChemWorker::loop() { @@ -320,10 +319,8 @@ void ChemWorker::finishWork() { int dht_perf[3]; dht_perf[0] = dht->getHits(); dht_perf[1] = dht->getMisses(); - cout << "Worker " << world_rank << " had " << dht_perf[1] << " misses" << endl; dht_perf[2] = dht->getEvictions(); - MPI_Send(dht_perf, 3, MPI_INT, 0, TAG_DHT_PERF, - MPI_COMM_WORLD); + MPI_Send(dht_perf, 3, MPI_INT, 0, TAG_DHT_PERF, MPI_COMM_WORLD); } if (dht_enabled && dht_snaps > 0) writeFile();