|
@@ -1,11 +1,18 @@
|
|
|
package libcontainerd
|
|
|
|
|
|
+import (
|
|
|
+ "sync"
|
|
|
+)
|
|
|
+
|
|
|
// pauseMonitor is helper to get notifications from pause state changes.
|
|
|
type pauseMonitor struct {
|
|
|
+ sync.Mutex
|
|
|
waiters map[string][]chan struct{}
|
|
|
}
|
|
|
|
|
|
func (m *pauseMonitor) handle(t string) {
|
|
|
+ m.Lock()
|
|
|
+ defer m.Unlock()
|
|
|
if m.waiters == nil {
|
|
|
return
|
|
|
}
|
|
@@ -20,6 +27,8 @@ func (m *pauseMonitor) handle(t string) {
|
|
|
}
|
|
|
|
|
|
func (m *pauseMonitor) append(t string, waiter chan struct{}) {
|
|
|
+ m.Lock()
|
|
|
+ defer m.Unlock()
|
|
|
if m.waiters == nil {
|
|
|
m.waiters = make(map[string][]chan struct{})
|
|
|
}
|