From 0dfa71ed71451e34cfd6652f7ac1d89be51ed3d0 Mon Sep 17 00:00:00 2001 From: Juliusz Chroboczek Date: Sat, 25 Apr 2020 21:33:08 +0200 Subject: [PATCH] Improve error handling when reading groups. --- group.go | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/group.go b/group.go index 06bef92..d1b61d9 100644 --- a/group.go +++ b/group.go @@ -146,19 +146,22 @@ func addGroup(name string, desc *groupDescription) (*group, error) { } else if g.dead || time.Since(g.description.loadTime) > 5*time.Second { changed, err := descriptionChanged(name, g.description) if err != nil { - g.dead = true - if !g.description.Public { - delGroupUnlocked(name) + if !os.IsNotExist(err) { + log.Printf("Reading group %v: %v", name, err) } + g.dead = true + delGroupUnlocked(name) return nil, err } if changed { desc, err := getDescription(name) if err != nil { - g.dead = true - if !g.description.Public { - delGroupUnlocked(name) + if !os.IsNotExist(err) { + log.Printf("Reading group %v: %v", + name, err) } + g.dead = true + delGroupUnlocked(name) return nil, err } g.dead = false @@ -518,6 +521,9 @@ func readPublicGroups() { name := fi.Name()[:len(fi.Name())-5] desc, err := getDescription(name) if err != nil { + if !os.IsNotExist(err) { + log.Printf("Reading group %v: %v", name, err) + } continue } if desc.Public {