aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRobert Hensing <robert@roberthensing.nl>2022-02-21 15:43:43 +0100
committerRobert Hensing <robert@roberthensing.nl>2022-02-21 15:43:43 +0100
commitddb6740e7da2ec0cc6ad71ac7e40f8513a1103c2 (patch)
tree38ebe59aa8b8852c17652fcc677d44b38b1e5480 /src
parentc3b942e0fc4777f9033f614b6b1f462c0f8c473e (diff)
triggerInterrupt: Refactor to use break
Diffstat (limited to 'src')
-rw-r--r--src/libutil/util.cc26
1 files 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);
}
}