Bläddra i källkod

LibCore: Simplify conditional logic in SharedCircularQueue

No functional changes.
Jelle Raaijmakers 3 år sedan
förälder
incheckning
50cf4e6e64
1 ändrade filer med 5 tillägg och 8 borttagningar
  1. 5 8
      Userland/Libraries/LibCore/SharedCircularQueue.h

+ 5 - 8
Userland/Libraries/LibCore/SharedCircularQueue.h

@@ -115,15 +115,12 @@ public:
         ErrorOr<void, QueueStatus> result;
         ErrorOr<void, QueueStatus> result;
         while (true) {
         while (true) {
             result = try_enqueue(to_insert);
             result = try_enqueue(to_insert);
-
-            if (result.is_error()) {
-                if (result.error() == QueueStatus::Full)
-                    wait_function();
-                else
-                    return Error::from_string_literal("Unexpected error while enqueuing"sv);
-            } else {
+            if (!result.is_error())
                 break;
                 break;
-            }
+            if (result.error() != QueueStatus::Full)
+                return Error::from_string_literal("Unexpected error while enqueuing"sv);
+
+            wait_function();
         }
         }
         return {};
         return {};
     }
     }