mirror of
https://github.com/Icinga/icinga2.git
synced 2025-04-08 17:05:25 +02:00
Use std::mutex instead of Spinlock
This commit is contained in:
parent
3081d9942d
commit
a96e6c3861
@ -20,7 +20,7 @@ using namespace icinga;
|
||||
|
||||
REGISTER_APIFUNCTION(Update, config, &ApiListener::ConfigUpdateHandler);
|
||||
|
||||
SpinLock ApiListener::m_ConfigSyncStageLock;
|
||||
std::mutex ApiListener::m_ConfigSyncStageLock;
|
||||
|
||||
/**
|
||||
* Entrypoint for updating all authoritative configs from /etc/zones.d, packages, etc.
|
||||
@ -330,7 +330,7 @@ void ApiListener::HandleConfigUpdate(const MessageOrigin::Ptr& origin, const Dic
|
||||
/* Only one transaction is allowed, concurrent message handlers need to wait.
|
||||
* This affects two parent endpoints sending the config in the same moment.
|
||||
*/
|
||||
auto lock (Shared<std::unique_lock<SpinLock>>::Make(m_ConfigSyncStageLock));
|
||||
std::lock_guard<std::mutex> lock(m_ConfigSyncStageLock);
|
||||
|
||||
String apiZonesStageDir = GetApiZonesStageDir();
|
||||
String fromEndpointName = origin->FromClient->GetEndpoint()->GetName();
|
||||
|
@ -11,7 +11,6 @@
|
||||
#include "base/configobject.hpp"
|
||||
#include "base/process.hpp"
|
||||
#include "base/shared.hpp"
|
||||
#include "base/spinlock.hpp"
|
||||
#include "base/timer.hpp"
|
||||
#include "base/workqueue.hpp"
|
||||
#include "base/tcpsocket.hpp"
|
||||
@ -188,7 +187,7 @@ private:
|
||||
void RemoveStatusFile();
|
||||
|
||||
/* filesync */
|
||||
static SpinLock m_ConfigSyncStageLock;
|
||||
static std::mutex m_ConfigSyncStageLock;
|
||||
|
||||
void SyncLocalZoneDirs() const;
|
||||
void SyncLocalZoneDir(const Zone::Ptr& zone) const;
|
||||
|
Loading…
x
Reference in New Issue
Block a user