Quellcode durchsuchen

修改析构函数,子类主动调用stop函数,避免子类资源释放完之后父类才调用stop函数结束线程

leon vor 2 Monaten
Ursprung
Commit
28f855f657

+ 1 - 1
src/nodes/analyze/analyzeNode.hpp

@@ -12,7 +12,7 @@ class AnalyzeNode : public BaseNode
 public:
     AnalyzeNode() = delete;
     AnalyzeNode(const std::string& name) : BaseNode(name, NODE_TYPE::MID_NODE) {}
-    virtual ~AnalyzeNode() { };
+    virtual ~AnalyzeNode() { stop(); };
 
     void work() override;
 };

+ 1 - 1
src/nodes/base/base.cpp

@@ -12,7 +12,7 @@ BaseNode::BaseNode(const std::string& name, NODE_TYPE type)
 
 BaseNode::~BaseNode()
 {
-    stop();
+    
 }
 
 void BaseNode::start()

+ 1 - 1
src/nodes/draw/drawNode.hpp

@@ -11,7 +11,7 @@ class DrawNode : public BaseNode
 public:
     DrawNode() = delete;
     DrawNode(const std::string& name) : BaseNode(name, NODE_TYPE::DES_NODE) {}
-    virtual ~DrawNode() { };
+    virtual ~DrawNode() { stop(); };
 
     void work() override;
 };

+ 1 - 1
src/nodes/httpPush/httpPush.hpp

@@ -14,7 +14,7 @@ public:
     HttpPushNode(const std::string& name, const std::string& ip, int port, const std::string& address)
             : BaseNode(name, NODE_TYPE::DES_NODE), ip_(ip), port_(port), address_(address) {}
 
-    virtual ~HttpPushNode() { };
+    virtual ~HttpPushNode() { stop(); };
 
     inline void set_ip(const std::string& ip) { ip_ = ip; }
     inline void set_port(int port) { port_ = port; }

+ 1 - 1
src/nodes/infer/inferNode.hpp

@@ -13,7 +13,7 @@ class InferNode : public BaseNode
 public:
     InferNode() = delete;
     InferNode(const std::string& name) : BaseNode(name, NODE_TYPE::MID_NODE) {}
-    virtual ~InferNode()  { };
+    virtual ~InferNode()  { stop(); };
 
     void set_model_instance(std::shared_ptr<Infer> model)
     {