فهرست منبع

daemon: use RWMutex for stateCounter

Use an RWMutex to allow concurrent reads of these counters

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Sebastiaan van Stijn 3 سال پیش
والد
کامیت
699174347c
1فایلهای تغییر یافته به همراه3 افزوده شده و 3 حذف شده
  1. 3 3
      daemon/metrics.go

+ 3 - 3
daemon/metrics.go

@@ -65,7 +65,7 @@ func init() {
 }
 
 type stateCounter struct {
-	mu     sync.Mutex
+	mu     sync.RWMutex
 	states map[string]string
 	desc   *prometheus.Desc
 }
@@ -78,8 +78,8 @@ func newStateCounter(desc *prometheus.Desc) *stateCounter {
 }
 
 func (ctr *stateCounter) get() (running int, paused int, stopped int) {
-	ctr.mu.Lock()
-	defer ctr.mu.Unlock()
+	ctr.mu.RLock()
+	defer ctr.mu.RUnlock()
 
 	states := map[string]int{
 		"running": 0,