/* * Copyright 2013 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef SkMutex_none_DEFINED #define SkMutex_none_DEFINED /** Non-mutex mutex for uniprocessor systems. */ struct SkBaseMutex { void acquire() { } void release() { } }; class SkMutex : public SkBaseMutex { public: SkMutex() { } ~SkMutex() { } private: SkMutex(const SkMutex&); SkMutex& operator=(const SkMutex&); }; // Using POD-style initialization prevents the generation of a static initializer. #define SK_DECLARE_STATIC_MUTEX(name) static SkBaseMutex name = { } // Special case used when the static mutex must be available globally. #define SK_DECLARE_GLOBAL_MUTEX(name) SkBaseMutex name = { } #endif