Browse Source

builder: delete sandbox in a goroutine for performance

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Tonis Tiigi 6 years ago
parent
commit
bcf1967dd0
1 changed files with 7 additions and 6 deletions
  1. 7 6
      builder/builder-next/executor_unix.go

+ 7 - 6
builder/builder-next/executor_unix.go

@@ -15,6 +15,7 @@ import (
 	"github.com/moby/buildkit/solver/pb"
 	"github.com/moby/buildkit/solver/pb"
 	"github.com/moby/buildkit/util/network"
 	"github.com/moby/buildkit/util/network"
 	specs "github.com/opencontainers/runtime-spec/specs-go"
 	specs "github.com/opencontainers/runtime-spec/specs-go"
+	"github.com/sirupsen/logrus"
 )
 )
 
 
 const networkName = "bridge"
 const networkName = "bridge"
@@ -100,10 +101,10 @@ func (iface *lnInterface) Set(s *specs.Spec) {
 
 
 func (iface *lnInterface) Close() error {
 func (iface *lnInterface) Close() error {
 	<-iface.ready
 	<-iface.ready
-	err := iface.sbx.Delete()
-	if iface.err != nil {
-		// iface.err takes precedence over cleanup errors
-		return iface.err
-	}
-	return err
+	go func() {
+		if err := iface.sbx.Delete(); err != nil {
+			logrus.Errorf("failed to delete builder network sandbox: %v", err)
+		}
+	}()
+	return iface.err
 }
 }