From 39db45e144275092716ad612d58c7b9ba1bc8eed Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Wed, 3 May 2017 09:48:08 -0700 Subject: Fix crash on exit (sometimes) in controller. --- controller/EmbeddedNetworkController.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'controller/EmbeddedNetworkController.cpp') diff --git a/controller/EmbeddedNetworkController.cpp b/controller/EmbeddedNetworkController.cpp index 16839c18..8ff8eb83 100644 --- a/controller/EmbeddedNetworkController.cpp +++ b/controller/EmbeddedNetworkController.cpp @@ -436,19 +436,16 @@ EmbeddedNetworkController::EmbeddedNetworkController(Node *node,const char *dbPa EmbeddedNetworkController::~EmbeddedNetworkController() { - _running = false; std::vector t; { Mutex::Lock _l(_threads_m); + _running = false; t = _threads; } if (t.size() > 0) { - for(unsigned long i=0,j=(unsigned long)(t.size() * 4);i::iterator i(t.begin());i!=t.end();++i) Thread::join(*i); - */ } } @@ -1117,7 +1114,7 @@ void EmbeddedNetworkController::threadMain() { uint64_t lastCircuitTestCheck = 0; _RQEntry *qe = (_RQEntry *)0; - while ((_running)&&((qe = _queue.get()))) { + while ((_running)&&(_queue.get(qe))) { try { if (qe->type == _RQEntry::RQENTRY_TYPE_REQUEST) { _request(qe->nwid,qe->fromAddr,qe->requestPacketId,qe->identity,qe->metaData); -- cgit v1.2.3