mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-04 21:28:06 +02:00
cleaning up nodeKilled()
This commit is contained in:
parent
6df3ff57c4
commit
6601a0d4e9
3 changed files with 24 additions and 6 deletions
|
@ -44,7 +44,7 @@ OctreeQueryNode::OctreeQueryNode() :
|
|||
|
||||
OctreeQueryNode::~OctreeQueryNode() {
|
||||
_isShuttingDown = true;
|
||||
const bool extraDebugging = false;
|
||||
const bool extraDebugging = true;
|
||||
if (extraDebugging) {
|
||||
qDebug() << "OctreeQueryNode::~OctreeQueryNode()";
|
||||
}
|
||||
|
@ -75,6 +75,25 @@ void OctreeQueryNode::deleteLater() {
|
|||
OctreeQuery::deleteLater();
|
||||
}
|
||||
|
||||
void OctreeQueryNode::nodeKilled() {
|
||||
_isShuttingDown = true;
|
||||
const bool extraDebugging = true;
|
||||
if (extraDebugging) {
|
||||
qDebug() << "OctreeQueryNode::nodeKilled()";
|
||||
}
|
||||
if (_octreeSendThread) {
|
||||
if (extraDebugging) {
|
||||
qDebug() << "OctreeQueryNode::nodeKilled()... calling _octreeSendThread->terminate()";
|
||||
}
|
||||
_octreeSendThread->terminate();
|
||||
if (extraDebugging) {
|
||||
qDebug() << "OctreeQueryNode::nodeKilled()... calling delete _octreeSendThread";
|
||||
}
|
||||
delete _octreeSendThread;
|
||||
_octreeSendThread = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void OctreeQueryNode::initializeOctreeSendThread(const SharedAssignmentPointer& myAssignment, const SharedNodePointer& node) {
|
||||
// Create octree sending thread...
|
||||
|
|
|
@ -94,6 +94,7 @@ public:
|
|||
unsigned int getlastOctreePacketLength() const { return _lastOctreePacketLength; }
|
||||
int getDuplicatePacketCount() const { return _duplicatePacketCount; }
|
||||
|
||||
void nodeKilled();
|
||||
bool isShuttingDown() const { return _isShuttingDown; }
|
||||
|
||||
private:
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
#include "OctreeServer.h"
|
||||
#include "OctreeServerConsts.h"
|
||||
|
||||
OctreeServer* OctreeServer::_instance;
|
||||
OctreeServer* OctreeServer::_instance = NULL;
|
||||
int OctreeServer::_clientCount = 0;
|
||||
const int MOVING_AVERAGE_SAMPLE_COUNTS = 1000000;
|
||||
|
||||
|
@ -1064,10 +1064,8 @@ void OctreeServer::nodeKilled(SharedNodePointer node) {
|
|||
qDebug() << qPrintable(_safeServerName) << "server killed node:" << *node;
|
||||
OctreeQueryNode* nodeData = static_cast<OctreeQueryNode*>(node->getLinkedData());
|
||||
if (nodeData) {
|
||||
qDebug() << qPrintable(_safeServerName) << "server resetting Linked Data for node:" << *node;
|
||||
node->setLinkedData(NULL); // set this first in case another thread comes through and tryes to acces this
|
||||
qDebug() << qPrintable(_safeServerName) << "server deleting Linked Data for node:" << *node;
|
||||
nodeData->deleteLater();
|
||||
qDebug() << qPrintable(_safeServerName) << "server calling nodeData->nodeKilled() for node:" << *node;
|
||||
nodeData->nodeKilled(); // tell our node data and sending threads that we'd like to shut down
|
||||
} else {
|
||||
qDebug() << qPrintable(_safeServerName) << "server node missing linked data node:" << *node;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue