Files
cli/components/engine/daemon
Aaron Lehmann e2a7ae61b2 cluster: Allow reentrant calls to methods during shutdown
The agent sometimes calls into libnetwork code that in turn calls
(*Cluster).IsAgent and (*Cluster).IsManager. These can cause the
node shutdown process to time out, since they wait for a lock that is
held by Cleanup.

It turns out c.mu doesn't need to be held while calling Stop. Holding
controlMutex is sufficient. Also, (*nodeRunner).Stop must release
nodeRunner's mu during the node shutdown process, otherwise the same
call into Cluster would be blocked on this lock instead.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 44ce809c954eec6755ba975ab7fe1c11ebbdfed2
Component: engine
2017-04-07 19:21:10 -07:00
..
…
2017-02-07 11:08:37 -08:00
…
…
2017-04-03 21:04:40 -04:00
2017-02-15 21:57:27 +08:00
2017-02-07 11:08:37 -08:00
…
…
2017-02-07 11:08:37 -08:00
2017-02-07 11:08:37 -08:00
2017-02-07 11:08:37 -08:00
2017-02-07 11:08:37 -08:00
2017-02-07 11:08:37 -08:00
2017-02-07 11:08:37 -08:00
2017-02-07 11:08:37 -08:00
…
2016-12-27 23:30:50 +08:00
…
…
2017-02-02 11:25:07 -08:00
…
2017-02-15 21:57:27 +08:00
2017-01-11 21:35:59 +08:00
…
2016-12-27 21:46:52 +08:00
…
2017-02-01 14:43:58 -05:00
2016-12-27 23:30:50 +08:00
…
…