Example #1
0
 void unlock()
 {
     HPX_ITT_SYNC_RELEASING(this);
     m.unlock();
     HPX_ITT_SYNC_RELEASED(this);
     util::unregister_lock(this);
 }
Example #2
0
 void unlock()
 {
     HPX_ITT_SYNC_RELEASING(&sp_);
     sp_.unlock();
     HPX_ITT_SYNC_RELEASED(&sp_);
     util::unregister_lock(&sp_);
 }
Example #3
0
File: name.hpp Project: adk9/hpx
        void unlock()
        {
            HPX_ITT_SYNC_RELEASING(this);

            reliquish_lock();

            HPX_ITT_SYNC_RELEASED(this);
        }
Example #4
0
        void unlock()
        {
            HPX_ITT_SYNC_RELEASING(this);

#if defined(BOOST_WINDOWS)
            BOOST_COMPILER_FENCE
            *const_cast<boost::uint64_t volatile*>(&v_) = 0;
#else
            __sync_lock_release(&v_);
#endif

            HPX_ITT_SYNC_RELEASED(this);
            util::unregister_lock(this);
        }
Example #5
0
        void unlock(error_code& ec = throws)
        {
            HPX_ASSERT(threads::get_self_ptr() != 0);

            HPX_ITT_SYNC_RELEASING(this);
            mutex_type::scoped_lock l(mtx_);

            threads::thread_id_repr_type self_id = threads::get_self_id().get();
            if (HPX_UNLIKELY(owner_id_ != self_id))
            {
                HPX_THROWS_IF(ec, lock_error,
                    "mutex::unlock",
                    "The calling thread does not own the mutex");
                return;
            }

            util::unregister_lock(this);
            HPX_ITT_SYNC_RELEASED(this);
            owner_id_ = threads::invalid_thread_id_repr;

            cond_.notify_one(l, ec);
        }
Example #6
0
 void unlock()
 {
     HPX_ITT_SYNC_RELEASING(&sp_);
     sp_.unlock();
     HPX_ITT_SYNC_RELEASED(&sp_);
 }