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/src/Mutex_VX.cpp | |
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/src/Mutex_VX.cpp')
-rw-r--r-- | contrib/libs/poco/Foundation/src/Mutex_VX.cpp | 136 |
1 files changed, 68 insertions, 68 deletions
diff --git a/contrib/libs/poco/Foundation/src/Mutex_VX.cpp b/contrib/libs/poco/Foundation/src/Mutex_VX.cpp index a4b32acbbf..d36c457332 100644 --- a/contrib/libs/poco/Foundation/src/Mutex_VX.cpp +++ b/contrib/libs/poco/Foundation/src/Mutex_VX.cpp @@ -1,68 +1,68 @@ -// -// Mutex_VX.cpp -// -// Library: Foundation -// Package: Threading -// Module: Mutex -// -// Copyright (c) 2004-2011, Applied Informatics Software Engineering GmbH. -// and Contributors. -// -// SPDX-License-Identifier: BSL-1.0 -// - - -#include "Poco/Mutex_VX.h" -#include <sysLib.h> - - -namespace Poco { - - -MutexImpl::MutexImpl() -{ - _sem = semMCreate(SEM_INVERSION_SAFE | SEM_Q_PRIORITY); - if (_sem == 0) - throw Poco::SystemException("cannot create mutex"); -} - - -MutexImpl::MutexImpl(bool fast) -{ - if (fast) - { - _sem = semBCreate(SEM_Q_PRIORITY, SEM_FULL); - } - else - { - _sem = semMCreate(SEM_INVERSION_SAFE | SEM_Q_PRIORITY); - } - if (_sem == 0) - throw Poco::SystemException("cannot create mutex"); -} - - -MutexImpl::~MutexImpl() -{ - semDelete(_sem); -} - - -bool MutexImpl::tryLockImpl(long milliseconds) -{ - int ticks = milliseconds*sysClkRateGet()/1000; - return semTake(_sem, ticks) == OK; -} - - -FastMutexImpl::FastMutexImpl(): MutexImpl(true) -{ -} - - -FastMutexImpl::~FastMutexImpl() -{ -} - - -} // namespace Poco +// +// Mutex_VX.cpp +// +// Library: Foundation +// Package: Threading +// Module: Mutex +// +// Copyright (c) 2004-2011, Applied Informatics Software Engineering GmbH. +// and Contributors. +// +// SPDX-License-Identifier: BSL-1.0 +// + + +#include "Poco/Mutex_VX.h" +#include <sysLib.h> + + +namespace Poco { + + +MutexImpl::MutexImpl() +{ + _sem = semMCreate(SEM_INVERSION_SAFE | SEM_Q_PRIORITY); + if (_sem == 0) + throw Poco::SystemException("cannot create mutex"); +} + + +MutexImpl::MutexImpl(bool fast) +{ + if (fast) + { + _sem = semBCreate(SEM_Q_PRIORITY, SEM_FULL); + } + else + { + _sem = semMCreate(SEM_INVERSION_SAFE | SEM_Q_PRIORITY); + } + if (_sem == 0) + throw Poco::SystemException("cannot create mutex"); +} + + +MutexImpl::~MutexImpl() +{ + semDelete(_sem); +} + + +bool MutexImpl::tryLockImpl(long milliseconds) +{ + int ticks = milliseconds*sysClkRateGet()/1000; + return semTake(_sem, ticks) == OK; +} + + +FastMutexImpl::FastMutexImpl(): MutexImpl(true) +{ +} + + +FastMutexImpl::~FastMutexImpl() +{ +} + + +} // namespace Poco |