From 27fe2969d78668ba826eaa08a5f329dab06e5a95 Mon Sep 17 00:00:00 2001 From: Patrick Seeburger Date: Wed, 19 Sep 2018 11:21:02 +0200 Subject: [PATCH] Avoid unnecessary cache writes in /status Introduce check to avoid unneccesarry cache writes. --- bird/bird.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/bird/bird.go b/bird/bird.go index 867fe99..536b2f8 100644 --- a/bird/bird.go +++ b/bird/bird.go @@ -132,10 +132,15 @@ func RunAndParse(cmd string, parser func(io.Reader) Parsed) (Parsed, bool) { } func Status() (Parsed, bool) { - birdStatus, ok := RunAndParse("status", parseStatus) + birdStatus, from_cache := RunAndParse("status", parseStatus) if isSpecial(birdStatus) { - return birdStatus, ok + return birdStatus, from_cache } + + if from_cache { + return birdStatus, from_cache + } + status := birdStatus["status"].(Parsed) // Last Reconfig Timestamp source: @@ -164,7 +169,7 @@ func Status() (Parsed, bool) { birdStatus["status"] = status - return birdStatus, ok + return birdStatus, from_cache } func Protocols() (Parsed, bool) {