%PDF- %PDF-
Direktori : /opt/cpanel/ea-ruby27/src/passenger-release-6.0.23/src/cxx_supportlib/Utils/ |
Current File : //opt/cpanel/ea-ruby27/src/passenger-release-6.0.23/src/cxx_supportlib/Utils/Lock.h |
#ifndef _PASSENGER_LOCK_H_ #define _PASSENGER_LOCK_H_ #include <boost/thread.hpp> namespace Passenger { using namespace boost; /** Shortcut typedefs. */ typedef boost::lock_guard<boost::mutex> LockGuard; typedef boost::unique_lock<boost::mutex> ScopedLock; /** Nicer syntax for conditionally locking the mutex during construction. */ class DynamicScopedLock: public boost::unique_lock<boost::mutex> { public: DynamicScopedLock(boost::mutex &m, bool lockNow = true) : boost::unique_lock<boost::mutex>(m, boost::defer_lock) { if (lockNow) { lock(); } } }; } // namespace Passenger #endif /* _PASSENGER_LOCK_H_ */