mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-24 06:16:30 +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
|