aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/poco/Foundation/include/Poco/RWLock_POSIX.h
diff options
context:
space:
mode:
authororivej <orivej@yandex-team.ru>2022-02-10 16:45:01 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:45:01 +0300
commit2d37894b1b037cf24231090eda8589bbb44fb6fc (patch)
treebe835aa92c6248212e705f25388ebafcf84bc7a1 /contrib/libs/poco/Foundation/include/Poco/RWLock_POSIX.h
parent718c552901d703c502ccbefdfc3c9028d608b947 (diff)
downloadydb-2d37894b1b037cf24231090eda8589bbb44fb6fc.tar.gz
Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/libs/poco/Foundation/include/Poco/RWLock_POSIX.h')
-rw-r--r--contrib/libs/poco/Foundation/include/Poco/RWLock_POSIX.h198
1 files changed, 99 insertions, 99 deletions
diff --git a/contrib/libs/poco/Foundation/include/Poco/RWLock_POSIX.h b/contrib/libs/poco/Foundation/include/Poco/RWLock_POSIX.h
index a6475b781c..be4d11beb4 100644
--- a/contrib/libs/poco/Foundation/include/Poco/RWLock_POSIX.h
+++ b/contrib/libs/poco/Foundation/include/Poco/RWLock_POSIX.h
@@ -1,99 +1,99 @@
-//
-// RWLock_POSIX.h
-//
-// Library: Foundation
-// Package: Threading
-// Module: RWLock
-//
-// Definition of the RWLockImpl class for POSIX Threads.
-//
-// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
-// and Contributors.
-//
-// SPDX-License-Identifier: BSL-1.0
-//
-
-
-#ifndef Foundation_RWLock_POSIX_INCLUDED
-#define Foundation_RWLock_POSIX_INCLUDED
-
-
-#include "Poco/Foundation.h"
-#include "Poco/Exception.h"
-#include <pthread.h>
-#include <errno.h>
-
-
-namespace Poco {
-
-
-class Foundation_API RWLockImpl
-{
-protected:
- RWLockImpl();
- ~RWLockImpl();
- void readLockImpl();
- bool tryReadLockImpl();
- void writeLockImpl();
- bool tryWriteLockImpl();
- void unlockImpl();
-
-private:
- pthread_rwlock_t _rwl;
-};
-
-
-//
-// inlines
-//
-inline void RWLockImpl::readLockImpl()
-{
- if (pthread_rwlock_rdlock(&_rwl))
- throw SystemException("cannot lock reader/writer lock");
-}
-
-
-inline bool RWLockImpl::tryReadLockImpl()
-{
- int rc = pthread_rwlock_tryrdlock(&_rwl);
- if (rc == 0)
- return true;
- else if (rc == EBUSY)
- return false;
- else
- throw SystemException("cannot lock reader/writer lock");
-
-}
-
-
-inline void RWLockImpl::writeLockImpl()
-{
- if (pthread_rwlock_wrlock(&_rwl))
- throw SystemException("cannot lock reader/writer lock");
-}
-
-
-inline bool RWLockImpl::tryWriteLockImpl()
-{
- int rc = pthread_rwlock_trywrlock(&_rwl);
- if (rc == 0)
- return true;
- else if (rc == EBUSY)
- return false;
- else
- throw SystemException("cannot lock reader/writer lock");
-
-}
-
-
-inline void RWLockImpl::unlockImpl()
-{
- if (pthread_rwlock_unlock(&_rwl))
- throw SystemException("cannot unlock mutex");
-}
-
-
-} // namespace Poco
-
-
-#endif // Foundation_RWLock_POSIX_INCLUDED
+//
+// RWLock_POSIX.h
+//
+// Library: Foundation
+// Package: Threading
+// Module: RWLock
+//
+// Definition of the RWLockImpl class for POSIX Threads.
+//
+// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
+// and Contributors.
+//
+// SPDX-License-Identifier: BSL-1.0
+//
+
+
+#ifndef Foundation_RWLock_POSIX_INCLUDED
+#define Foundation_RWLock_POSIX_INCLUDED
+
+
+#include "Poco/Foundation.h"
+#include "Poco/Exception.h"
+#include <pthread.h>
+#include <errno.h>
+
+
+namespace Poco {
+
+
+class Foundation_API RWLockImpl
+{
+protected:
+ RWLockImpl();
+ ~RWLockImpl();
+ void readLockImpl();
+ bool tryReadLockImpl();
+ void writeLockImpl();
+ bool tryWriteLockImpl();
+ void unlockImpl();
+
+private:
+ pthread_rwlock_t _rwl;
+};
+
+
+//
+// inlines
+//
+inline void RWLockImpl::readLockImpl()
+{
+ if (pthread_rwlock_rdlock(&_rwl))
+ throw SystemException("cannot lock reader/writer lock");
+}
+
+
+inline bool RWLockImpl::tryReadLockImpl()
+{
+ int rc = pthread_rwlock_tryrdlock(&_rwl);
+ if (rc == 0)
+ return true;
+ else if (rc == EBUSY)
+ return false;
+ else
+ throw SystemException("cannot lock reader/writer lock");
+
+}
+
+
+inline void RWLockImpl::writeLockImpl()
+{
+ if (pthread_rwlock_wrlock(&_rwl))
+ throw SystemException("cannot lock reader/writer lock");
+}
+
+
+inline bool RWLockImpl::tryWriteLockImpl()
+{
+ int rc = pthread_rwlock_trywrlock(&_rwl);
+ if (rc == 0)
+ return true;
+ else if (rc == EBUSY)
+ return false;
+ else
+ throw SystemException("cannot lock reader/writer lock");
+
+}
+
+
+inline void RWLockImpl::unlockImpl()
+{
+ if (pthread_rwlock_unlock(&_rwl))
+ throw SystemException("cannot unlock mutex");
+}
+
+
+} // namespace Poco
+
+
+#endif // Foundation_RWLock_POSIX_INCLUDED