From ddb6740e7da2ec0cc6ad71ac7e40f8513a1103c2 Mon Sep 17 00:00:00 2001
From: Robert Hensing <robert@roberthensing.nl>
Date: Mon, 21 Feb 2022 15:43:43 +0100
Subject: [PATCH] triggerInterrupt: Refactor to use break

---
 src/libutil/util.cc | 26 +++++++++++---------------
 1 file changed, 11 insertions(+), 15 deletions(-)

diff --git a/src/libutil/util.cc b/src/libutil/util.cc
index 03cbd7765..44463161f 100644
--- a/src/libutil/util.cc
+++ b/src/libutil/util.cc
@@ -1599,28 +1599,24 @@ void triggerInterrupt()
 
     {
         InterruptCallbacks::Token i = 0;
-        std::function<void()> callback;
-        do {
+        while (true) {
+            std::function<void()> callback;
             {
                 auto interruptCallbacks(_interruptCallbacks.lock());
                 auto lb = interruptCallbacks->callbacks.lower_bound(i);
-                if (lb != interruptCallbacks->callbacks.end()) {
-                    callback = lb->second;
-                    i = lb->first + 1;
-                } else {
-                    callback = nullptr;
-                }
+                if (lb == interruptCallbacks->callbacks.end())
+                    break;
+
+                callback = lb->second;
+                i = lb->first + 1;
             }
 
-            if (callback) {
-                try {
-                    callback();
-                } catch (...) {
-                    ignoreException();
-                }
+            try {
+                callback();
+            } catch (...) {
+                ignoreException();
             }
         }
-        while (callback);
     }
 }