diff options
author | orivej <orivej@yandex-team.ru> | 2022-02-10 16:44:49 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:44:49 +0300 |
commit | 718c552901d703c502ccbefdfc3c9028d608b947 (patch) | |
tree | 46534a98bbefcd7b1f3faa5b52c138ab27db75b7 /contrib/libs/poco/Foundation/include/Poco/RWLock_WIN32.h | |
parent | e9656aae26e0358d5378e5b63dcac5c8dbe0e4d0 (diff) | |
download | ydb-718c552901d703c502ccbefdfc3c9028d608b947.tar.gz |
Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/libs/poco/Foundation/include/Poco/RWLock_WIN32.h')
-rw-r--r-- | contrib/libs/poco/Foundation/include/Poco/RWLock_WIN32.h | 114 |
1 files changed, 57 insertions, 57 deletions
diff --git a/contrib/libs/poco/Foundation/include/Poco/RWLock_WIN32.h b/contrib/libs/poco/Foundation/include/Poco/RWLock_WIN32.h index e50856e1b4..0af13e67ab 100644 --- a/contrib/libs/poco/Foundation/include/Poco/RWLock_WIN32.h +++ b/contrib/libs/poco/Foundation/include/Poco/RWLock_WIN32.h @@ -1,57 +1,57 @@ -// -// RWLock_WIN32.h -// -// Library: Foundation -// Package: Threading -// Module: RWLock -// -// Definition of the RWLockImpl class for WIN32. -// -// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. -// and Contributors. -// -// SPDX-License-Identifier: BSL-1.0 -// - - -#ifndef Foundation_RWLock_WIN32_INCLUDED -#define Foundation_RWLock_WIN32_INCLUDED - - -#include "Poco/Foundation.h" -#include "Poco/Exception.h" -#include "Poco/UnWindows.h" - - -namespace Poco { - - -class Foundation_API RWLockImpl -{ -protected: - RWLockImpl(); - ~RWLockImpl(); - void readLockImpl(); - bool tryReadLockImpl(); - void writeLockImpl(); - bool tryWriteLockImpl(); - void unlockImpl(); - -private: - void addWriter(); - void removeWriter(); - DWORD tryReadLockOnce(); - - HANDLE _mutex; - HANDLE _readEvent; - HANDLE _writeEvent; - unsigned _readers; - unsigned _writersWaiting; - unsigned _writers; -}; - - -} // namespace Poco - - -#endif // Foundation_RWLock_WIN32_INCLUDED +// +// RWLock_WIN32.h +// +// Library: Foundation +// Package: Threading +// Module: RWLock +// +// Definition of the RWLockImpl class for WIN32. +// +// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. +// and Contributors. +// +// SPDX-License-Identifier: BSL-1.0 +// + + +#ifndef Foundation_RWLock_WIN32_INCLUDED +#define Foundation_RWLock_WIN32_INCLUDED + + +#include "Poco/Foundation.h" +#include "Poco/Exception.h" +#include "Poco/UnWindows.h" + + +namespace Poco { + + +class Foundation_API RWLockImpl +{ +protected: + RWLockImpl(); + ~RWLockImpl(); + void readLockImpl(); + bool tryReadLockImpl(); + void writeLockImpl(); + bool tryWriteLockImpl(); + void unlockImpl(); + +private: + void addWriter(); + void removeWriter(); + DWORD tryReadLockOnce(); + + HANDLE _mutex; + HANDLE _readEvent; + HANDLE _writeEvent; + unsigned _readers; + unsigned _writersWaiting; + unsigned _writers; +}; + + +} // namespace Poco + + +#endif // Foundation_RWLock_WIN32_INCLUDED |