@@ -37,12 +37,15 @@ func envbuilderCmd() serpent.Command {
37
37
Options : o .CLI (),
38
38
Handler : func (inv * serpent.Invocation ) error {
39
39
o .SetDefaults ()
40
- var preExec []func ()
41
- defer func () { // Ensure cleanup in case of error.
42
- for _ , fn := range preExec {
40
+ var preExecs []func ()
41
+ preExec := func () {
42
+ for _ , fn := range preExecs {
43
43
fn ()
44
44
}
45
- }()
45
+ preExecs = nil
46
+ }
47
+ defer preExec () // Ensure cleanup in case of error.
48
+
46
49
o .Logger = log .New (os .Stderr , o .Verbose )
47
50
if o .CoderAgentURL != "" {
48
51
if o .CoderAgentToken == "" {
@@ -56,7 +59,7 @@ func envbuilderCmd() serpent.Command {
56
59
if err == nil {
57
60
o .Logger = log .Wrap (o .Logger , coderLog )
58
61
defer closeLogs ()
59
- preExec = append (preExec , func () {
62
+ preExecs = append (preExecs , func () {
60
63
o .Logger (log .LevelInfo , "Closing logs" )
61
64
closeLogs ()
62
65
})
@@ -88,7 +91,7 @@ func envbuilderCmd() serpent.Command {
88
91
return nil
89
92
}
90
93
91
- err := envbuilder .Run (inv .Context (), o , preExec ... )
94
+ err := envbuilder .Run (inv .Context (), o , preExec )
92
95
if err != nil {
93
96
o .Logger (log .LevelError , "error: %s" , err )
94
97
}
0 commit comments