00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 #include "daemon.h" 00012 00013 00014 namespace OpcUa 00015 { 00016 00017 Daemon::Daemon() 00018 { 00019 SetTerminateHandlers(); 00020 } 00021 00022 Daemon::~Daemon() 00023 { 00024 } 00025 00026 void Daemon::WaitForTerminate() 00027 { 00028 std::unique_lock<std::mutex> lock(Mutex); 00029 ExitEvent.wait(lock, [this](){ return Terminating; }); 00030 } 00031 00032 void Daemon::Terminate() 00033 { 00034 Terminating = true; 00035 ExitEvent.notify_all(); 00036 } 00037 00038 } 00039