Browse Source

Merge pull request #1364 from mavenugo/dl

Check for isAgent() outside the network lock to avoid deadlocks
Santhosh Manohar 9 years ago
parent
commit
e42fca1872
1 changed files with 2 additions and 1 deletions
  1. 2 1
      libnetwork/network.go

+ 2 - 1
libnetwork/network.go

@@ -702,12 +702,13 @@ func (n *network) driver(load bool) (driverapi.Driver, error) {
 	}
 
 	c := n.getController()
+	isAgent := c.isAgent()
 	n.Lock()
 	// If load is not required, driver, cap and err may all be nil
 	if cap != nil {
 		n.scope = cap.DataScope
 	}
-	if c.isAgent() || n.dynamic {
+	if isAgent || n.dynamic {
 		// If we are running in agent mode then all networks
 		// in libnetwork are local scope regardless of the
 		// backing driver.