Skip to content

Commit 1ff47e5

Browse files
committed
avoid crashing when exiting bob
1 parent 18e3e8b commit 1ff47e5

File tree

2 files changed

+18
-9
lines changed

2 files changed

+18
-9
lines changed

SpecialBufferStructs.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,10 @@ class TimedCacheMap {
194194
}
195195

196196
~TimedCacheMap() {
197+
198+
}
199+
void stop()
200+
{
197201
{
198202
std::lock_guard<std::mutex> lock(mtx_);
199203
should_stop_ = true;
@@ -203,7 +207,6 @@ class TimedCacheMap {
203207
cleanup_thread_.join();
204208
}
205209
}
206-
207210
// Disable copy and assignment
208211
TimedCacheMap(const TimedCacheMap&) = delete;
209212
TimedCacheMap& operator=(const TimedCacheMap&) = delete;

bob.cpp

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -379,15 +379,27 @@ int runBob(int argc, char *argv[])
379379
Logger::get()->info("Exited indexer thread");
380380

381381
sc_thread.join();
382-
delete gTCM;
383-
Logger::get()->info("Exited SC thread");
382+
if (gTCM)
383+
{
384+
gTCM->stop();
385+
Logger::get()->info("Stopped gTCM");
386+
delete gTCM;
387+
gTCM = nullptr;
388+
Logger::get()->info("Exited SC thread");
389+
}
384390

385391
if (log_event_verifier_thread.joinable())
386392
{
387393
log_event_verifier_thread.join();
388394
Logger::get()->info("Exited verifyLoggingEvent thread");
389395
}
390396

397+
if (run_server)
398+
{
399+
StopQubicServer();
400+
Logger::get()->info("Closed Qubic server at port 21842");
401+
}
402+
391403
// Now the receivers can drain and exit.
392404
for (auto& thr : v_recv_thread) thr.join();
393405
Logger::get()->info("Exited recv threads");
@@ -418,12 +430,6 @@ int runBob(int argc, char *argv[])
418430
garbage_thread.join();
419431
}
420432

421-
if (run_server)
422-
{
423-
StopQubicServer();
424-
Logger::get()->info("Closed Qubic server at port 21842");
425-
}
426-
427433
stopRESTServer();
428434
Logger::get()->info("Closed REST server at port {}", gRpcPort);
429435

0 commit comments

Comments
 (0)