From 8653b7278614a069de978dcf669cab28eae7f342 Mon Sep 17 00:00:00 2001 From: Alessandro Boch Date: Tue, 20 Sep 2016 14:18:49 -0700 Subject: [PATCH] Lock agent access in addDriverWatches Signed-off-by: Alessandro Boch --- libnetwork/agent.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libnetwork/agent.go b/libnetwork/agent.go index e83ee9f375..837653e499 100644 --- a/libnetwork/agent.go +++ b/libnetwork/agent.go @@ -468,8 +468,12 @@ func (n *network) addDriverWatches() { c := n.getController() for _, tableName := range n.driverTables { - ch, cancel := c.agent.networkDB.Watch(tableName, n.ID(), "") c.Lock() + if c.agent == nil { + c.Unlock() + return + } + ch, cancel := c.agent.networkDB.Watch(tableName, n.ID(), "") c.agent.driverCancelFuncs[n.ID()] = append(c.agent.driverCancelFuncs[n.ID()], cancel) c.Unlock()