Imported Upstream version 1.64.0
[platform/upstream/boost.git] / libs / fiber / src / mutex.cpp
index 1ec3c63..31393cc 100644 (file)
@@ -22,55 +22,55 @@ namespace fibers {
 
 void
 mutex::lock() {
-    context * ctx = context::active();
+    context * active_ctx = context::active();
     // store this fiber in order to be notified later
-    detail::spinlock_lock lk( wait_queue_splk_);
-    if ( ctx == owner_) {
-        throw lock_error(
+    detail::spinlock_lock lk{ wait_queue_splk_ };
+    if ( active_ctx == owner_) {
+        throw lock_error{
                 std::make_error_code( std::errc::resource_deadlock_would_occur),
-                "boost fiber: a deadlock is detected");
+                "boost fiber: a deadlock is detected" };
     } else if ( nullptr == owner_) {
-        owner_ = ctx;
+        owner_ = active_ctx;
         return;
     }
-    BOOST_ASSERT( ! ctx->wait_is_linked() );
-    ctx->wait_link( wait_queue_);
+    BOOST_ASSERT( ! active_ctx->wait_is_linked() );
+    active_ctx->wait_link( wait_queue_);
     // suspend this fiber
-    ctx->suspend( lk);
-    BOOST_ASSERT( ! ctx->wait_is_linked() );
+    active_ctx->suspend( lk);
+    BOOST_ASSERT( ! active_ctx->wait_is_linked() );
 }
 
 bool
 mutex::try_lock() {
-    context * ctx = context::active();
-    detail::spinlock_lock lk( wait_queue_splk_);
-    if ( ctx == owner_) {
-        throw lock_error(
+    context * active_ctx = context::active();
+    detail::spinlock_lock lk{ wait_queue_splk_ };
+    if ( active_ctx == owner_) {
+        throw lock_error{
                 std::make_error_code( std::errc::resource_deadlock_would_occur),
-                "boost fiber: a deadlock is detected");
+                "boost fiber: a deadlock is detected" };
     } else if ( nullptr == owner_) {
-        owner_ = ctx;
+        owner_ = active_ctx;
     }
     lk.unlock();
     // let other fiber release the lock
-    context::active()->yield();
-    return ctx == owner_;
+    active_ctx->yield();
+    return active_ctx == owner_;
 }
 
 void
 mutex::unlock() {
-    context * ctx = context::active();
-    detail::spinlock_lock lk( wait_queue_splk_);
-    if ( ctx != owner_) {
-        throw lock_error(
+    context * active_ctx = context::active();
+    detail::spinlock_lock lk{ wait_queue_splk_ };
+    if ( active_ctx != owner_) {
+        throw lock_error{
                 std::make_error_code( std::errc::operation_not_permitted),
-                "boost fiber: no  privilege to perform the operation");
+                "boost fiber: no  privilege to perform the operation" };
     }
     if ( ! wait_queue_.empty() ) {
         context * ctx = & wait_queue_.front();
         wait_queue_.pop_front();
         owner_ = ctx;
-        context::active()->set_ready( ctx);
+        active_ctx->schedule( ctx);
     } else {
         owner_ = nullptr;
         return;