diff --git a/lib/icinga/host.cpp b/lib/icinga/host.cpp index 0fe7ec8eb..0dbe361a9 100644 --- a/lib/icinga/host.cpp +++ b/lib/icinga/host.cpp @@ -170,29 +170,30 @@ HostState Host::GetLastHardState() const * sort by severity. It is therefore easier to keep them seperated here. */ int Host::GetSeverity() const { - int severity = 0; - ObjectLock olock(this); HostState state = GetState(); if (!HasBeenChecked()) { - severity = 16; - } else if (state == HostUp) { - severity = 0; - } else { - if (IsReachable()) { - severity = 64; - } else { - severity = 32; - } + return 16; + } + if (state == HostUp) { + return 0; + } - if (IsAcknowledged()) { - severity += 512; - } else if (IsInDowntime()) { - severity += 256; - } else { - severity += 2048; - } + int severity = 0; + + if (IsReachable()) { + severity = 64; + } else { + severity = 32; + } + + if (IsAcknowledged()) { + severity += 512; + } else if (IsInDowntime()) { + severity += 256; + } else { + severity += 2048; } olock.Unlock();