mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-24 14:26:09 +03:00
43 lines
1002 B
C++
43 lines
1002 B
C++
// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#include "crypto/mac_security_services_lock.h"
|
|
|
|
#include "base/macros.h"
|
|
#include "base/memory/singleton.h"
|
|
#include "base/synchronization/lock.h"
|
|
|
|
namespace {
|
|
|
|
class SecurityServicesSingleton {
|
|
public:
|
|
static SecurityServicesSingleton* GetInstance() {
|
|
return base::Singleton<
|
|
SecurityServicesSingleton,
|
|
base::LeakySingletonTraits<SecurityServicesSingleton>>::get();
|
|
}
|
|
|
|
base::Lock& lock() { return lock_; }
|
|
|
|
private:
|
|
friend struct base::DefaultSingletonTraits<SecurityServicesSingleton>;
|
|
|
|
SecurityServicesSingleton() {}
|
|
~SecurityServicesSingleton() {}
|
|
|
|
base::Lock lock_;
|
|
|
|
DISALLOW_COPY_AND_ASSIGN(SecurityServicesSingleton);
|
|
};
|
|
|
|
} // namespace
|
|
|
|
namespace crypto {
|
|
|
|
base::Lock& GetMacSecurityServicesLock() {
|
|
return SecurityServicesSingleton::GetInstance()->lock();
|
|
}
|
|
|
|
} // namespace crypto
|