From 0c22aa241fcad78d657b3930e07366be279b6370 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Wed, 15 Jan 2014 16:10:51 -0800 Subject: [PATCH] leverage invokeMethod to make sure killNodeWithUUID is called on right thread --- domain-server/src/DomainServer.cpp | 2 +- libraries/shared/src/NodeList.h | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/domain-server/src/DomainServer.cpp b/domain-server/src/DomainServer.cpp index c43fd029d3..d42124e888 100644 --- a/domain-server/src/DomainServer.cpp +++ b/domain-server/src/DomainServer.cpp @@ -416,7 +416,7 @@ int DomainServer::civetwebRequestHandler(struct mg_connection *connection) { mg_printf(connection, "%s", RESPONSE_200); // we have a valid UUID and node - kill the node that has this assignment - NodeList::getInstance()->killNodeWithUUID(deleteUUID); + QMetaObject::invokeMethod(NodeList::getInstance(), "killNodeWithUUID", Q_ARG(const QUuid&, deleteUUID)); // successfully processed request return 1; diff --git a/libraries/shared/src/NodeList.h b/libraries/shared/src/NodeList.h index d128eb94df..59945f82ea 100644 --- a/libraries/shared/src/NodeList.h +++ b/libraries/shared/src/NodeList.h @@ -95,7 +95,6 @@ public: int fillPingReplyPacket(unsigned char* pingBuffer, unsigned char* replyBuffer); void pingPublicAndLocalSocketsForInactiveNode(Node* node); - void killNodeWithUUID(const QUuid& nodeUUID); void sendKillNode(const char* nodeTypes, int numNodeTypes); SharedNodePointer nodeWithAddress(const HifiSockAddr& senderSockAddr); @@ -120,6 +119,8 @@ public slots: void sendDomainServerCheckIn(); void pingInactiveNodes(); void removeSilentNodes(); + + void killNodeWithUUID(const QUuid& nodeUUID); signals: void domainChanged(const QString& domainHostname); void nodeAdded(SharedNodePointer);