builder: delete sandbox in a goroutine for performance
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit bcf1967dd0893b36c56c8c9b87c84246916484a1)
diff --git a/builder/builder-next/executor_unix.go b/builder/builder-next/executor_unix.go
index 9f26642..3a11f85 100644
--- a/builder/builder-next/executor_unix.go
+++ b/builder/builder-next/executor_unix.go
@@ -15,6 +15,7 @@
"github.com/moby/buildkit/solver/pb"
"github.com/moby/buildkit/util/network"
specs "github.com/opencontainers/runtime-spec/specs-go"
+ "github.com/sirupsen/logrus"
)
const networkName = "bridge"
@@ -100,10 +101,10 @@
func (iface *lnInterface) Close() error {
<-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
}