Fix bug "...has already joined the endpoint"
- In case of sandboxAdd() failure, drive.Leave() call in first executed defer reset err to nil. Secondly executed defer in charge of resetting ep.container to nil will not get executed. Signed-off-by: Alessandro Boch <aboch@docker.com>
This commit is contained in:
parent
f7d4913ab9
commit
021d71de29
|
@ -410,7 +410,8 @@ func (ep *endpoint) Join(containerID string, options ...EndpointOption) error {
|
||||||
}
|
}
|
||||||
defer func() {
|
defer func() {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err = driver.Leave(nid, epid); err != nil {
|
// Do not alter global err variable, it's needed by the previous defer
|
||||||
|
if err := driver.Leave(nid, epid); err != nil {
|
||||||
log.Warnf("driver leave failed while rolling back join: %v", err)
|
log.Warnf("driver leave failed while rolling back join: %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue