@@ -13,7 +13,6 @@ import (
13
13
"path/filepath"
14
14
"runtime"
15
15
"strconv"
16
- "sync"
17
16
"time"
18
17
19
18
"github.com/pkg/browser"
@@ -29,7 +28,7 @@ func main() {
29
28
var (
30
29
skipSyncFlag = flag .Bool ("skipsync" , false , "skip syncing local settings and extensions to remote host" )
31
30
sshFlags = flag .String ("ssh-flags" , "" , "custom SSH flags" )
32
- syncBack = flag .Bool ("b" , false , "sync extensions back on SIGINT " )
31
+ syncBack = flag .Bool ("b" , false , "sync extensions back on termination " )
33
32
)
34
33
35
34
flag .Usage = func () {
@@ -151,36 +150,27 @@ chmod +x `+codeServerPath+`
151
150
c := make (chan os.Signal )
152
151
signal .Notify (c , os .Interrupt )
153
152
154
- var shutdownWg sync.WaitGroup
155
-
156
- shutdownWg .Add (1 )
157
- go func () {
158
- defer shutdownWg .Done ()
159
-
160
- select {
161
- case <- ctx .Done ():
162
- case <- c :
163
- }
164
-
165
- if ! * syncBack {
166
- flog .Info ("shutting down" )
167
- return
168
- }
153
+ select {
154
+ case <- ctx .Done ():
155
+ case <- c :
156
+ }
169
157
170
- flog .Info ("synchronizing VS Code back to local" )
158
+ if ! * syncBack {
159
+ flog .Info ("shutting down" )
160
+ return
161
+ }
171
162
172
- err = syncExtensions (host , true )
173
- if err != nil {
174
- flog .Fatal ("failed to sync extensions back: %v" , err )
175
- }
163
+ flog .Info ("synchronizing VS Code back to local" )
176
164
177
- err = syncUserSettings (host , true )
178
- if err != nil {
179
- flog .Fatal ("failed to user settigns extensions back: %v" , err )
180
- }
181
- }()
165
+ err = syncExtensions (host , true )
166
+ if err != nil {
167
+ flog .Fatal ("failed to sync extensions back: %v" , err )
168
+ }
182
169
183
- shutdownWg .Wait ()
170
+ err = syncUserSettings (host , true )
171
+ if err != nil {
172
+ flog .Fatal ("failed to user settigns extensions back: %v" , err )
173
+ }
184
174
}
185
175
186
176
func openBrowser (url string ) {
0 commit comments