X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/b75a7d8f3b4adbae880cab104ce2c6a50eee4db2..249c4c5ea9376c24572daf9c2effa7484a282f14:/icuSources/common/mutex.h diff --git a/icuSources/common/mutex.h b/icuSources/common/mutex.h index db546bc2..bb45e7df 100644 --- a/icuSources/common/mutex.h +++ b/icuSources/common/mutex.h @@ -1,7 +1,9 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html /* ****************************************************************************** * -* Copyright (C) 1997-2001, International Business Machines +* Copyright (C) 1997-2013, International Business Machines * Corporation and others. All Rights Reserved. * ****************************************************************************** @@ -27,25 +29,17 @@ U_NAMESPACE_BEGIN //---------------------------------------------------------------------------- -// Code within this library which accesses protected data +// Code within that accesses shared static or global data should // should instantiate a Mutex object while doing so. You should make your own // private mutex where possible. // For example: // -// UMTX myMutex; +// UMutex myMutex; // -// int InitializeMyMutex() -// { -// umtx_init( &myMutex ); -// return 0; -// } -// -// static int initializeMyMutex = InitializeMyMutex(); -// // void Function(int arg1, int arg2) // { -// static Object* foo; // Shared read-write object +// static Object* foo; // Shared read-write object // Mutex mutex(&myMutex); // or no args for the global lock // foo->Method(); // // When 'mutex' goes out of scope and gets destroyed here, the lock is released @@ -58,17 +52,17 @@ U_NAMESPACE_BEGIN class U_COMMON_API Mutex : public UMemory { public: - inline Mutex(UMTX *mutex = NULL); + inline Mutex(UMutex *mutex = NULL); inline ~Mutex(); private: - UMTX *fMutex; + UMutex *fMutex; Mutex(const Mutex &other); // forbid copying of this class Mutex &operator=(const Mutex &other); // forbid copying of this class }; -inline Mutex::Mutex(UMTX *mutex) +inline Mutex::Mutex(UMutex *mutex) : fMutex(mutex) { umtx_lock(fMutex);