File tree 1 file changed +16
-4
lines changed
1 file changed +16
-4
lines changed Original file line number Diff line number Diff line change @@ -408,10 +408,22 @@ func (cli *ArduinoCLI) StartDaemon(verbose bool) string {
408
408
}
409
409
go _copy (os .Stdout , stdout )
410
410
go _copy (os .Stderr , stderr )
411
- conn , err := grpc .NewClient (cli .daemonAddr , grpc .WithTransportCredentials (insecure .NewCredentials ()))
412
- cli .t .NoError (err )
413
- cli .daemonConn = conn
414
- cli .daemonClient = commands .NewArduinoCoreServiceClient (conn )
411
+
412
+ // Await the CLI daemon to be ready
413
+ var connErr error
414
+ for retries := 5 ; retries > 0 ; retries -- {
415
+ time .Sleep (time .Second )
416
+
417
+ conn , err := grpc .NewClient (cli .daemonAddr , grpc .WithTransportCredentials (insecure .NewCredentials ()))
418
+ if err != nil {
419
+ connErr = err
420
+ continue
421
+ }
422
+ cli .daemonConn = conn
423
+ cli .daemonClient = commands .NewArduinoCoreServiceClient (conn )
424
+ break
425
+ }
426
+ cli .t .NoError (connErr )
415
427
return cli .daemonAddr
416
428
}
417
429
You can’t perform that action at this time.
0 commit comments