@@ -57,7 +57,7 @@ export class GoDebugAdapterTrackerFactory implements vscode.DebugAdapterTrackerF
57
57
onWillStartSession : ( ) =>
58
58
logger . debug ( `session ${ session . id } will start with ${ JSON . stringify ( session . configuration ) } \n` ) ,
59
59
onWillReceiveMessage : ( message : any ) => logger . trace ( `client -> ${ JSON . stringify ( message ) } \n` ) ,
60
- onDidSendMessage : ( message : any ) => logger . trace ( `client <- ${ JSON . stringify ( message ) } \n` ) ,
60
+ onDidSendMessage : ( message : any ) => logger . trace ( `client <- ${ JSON . stringify ( message ) } \n` ) ,
61
61
onError : ( error : Error ) => logger . error ( `error: ${ error } \n` ) ,
62
62
onWillStopSession : ( ) => logger . debug ( `session ${ session . id } will stop\n` ) ,
63
63
onExit : ( code : number | undefined , signal : string | undefined ) =>
@@ -427,43 +427,26 @@ function spawnDlvDapServerProcess(
427
427
5_000
428
428
) ;
429
429
430
- const stopWaitingForServerToStart = ( err ?: string ) => {
430
+ const stopWaitingForServerToStart = ( ) => {
431
431
clearTimeout ( timeoutToken ) ;
432
432
started = true ;
433
- if ( err ) {
434
- logConsole ( `Failed to start 'dlv': ${ err } \nKilling the dlv process...` ) ;
435
- killProcessTree ( p ) ; // We do not need to wait for p to actually be killed.
436
- reject ( new Error ( err ) ) ;
437
- } else {
438
- resolve ( p ) ;
439
- }
433
+ resolve ( p ) ;
440
434
} ;
441
435
442
436
p . stdout . on ( 'data' , ( chunk ) => {
443
437
const msg = chunk . toString ( ) ;
444
- if ( ! started ) {
445
- if ( msg . startsWith ( 'DAP server listening at:' ) ) {
446
- stopWaitingForServerToStart ( ) ;
447
- } else {
448
- stopWaitingForServerToStart ( `Unexpected output from dlv dap on start: '${ msg } '` ) ;
449
- }
438
+ if ( ! started && msg . startsWith ( 'DAP server listening at:' ) ) {
439
+ stopWaitingForServerToStart ( ) ;
450
440
}
451
441
log ( msg ) ;
452
442
} ) ;
453
443
p . stderr . on ( 'data' , ( chunk ) => {
454
- if ( ! started ) {
455
- stopWaitingForServerToStart ( `Unexpected error from dlv dap on start: '${ chunk . toString ( ) } '` ) ;
456
- }
457
444
logErr ( chunk . toString ( ) ) ;
458
445
} ) ;
459
446
p . stdio [ 3 ] . on ( 'data' , ( chunk ) => {
460
447
const msg = chunk . toString ( ) ;
461
- if ( ! started ) {
462
- if ( msg . startsWith ( 'DAP server listening at:' ) ) {
463
- stopWaitingForServerToStart ( ) ;
464
- } else {
465
- stopWaitingForServerToStart ( `Expected 'DAP server listening at:' from debug adapter got '${ msg } '` ) ;
466
- }
448
+ if ( ! started && msg . startsWith ( 'DAP server listening at:' ) ) {
449
+ stopWaitingForServerToStart ( ) ;
467
450
}
468
451
if ( logDestStream ) {
469
452
// always false on windows.
@@ -489,9 +472,6 @@ function spawnDlvDapServerProcess(
489
472
// respond to disconnect on time. In that case, it's possible that the session
490
473
// is in the middle of teardown and DEBUG CONSOLE isn't accessible. Check
491
474
// Go Debug output channel.
492
- if ( ! started ) {
493
- stopWaitingForServerToStart ( `dlv dap terminated with code: ${ code } signal: ${ signal } \n` ) ;
494
- }
495
475
if ( typeof code === 'number' ) {
496
476
// The process exited on its own.
497
477
logConsole ( `dlv dap (${ p . pid } ) exited with code: ${ code } \n` ) ;
@@ -502,9 +482,6 @@ function spawnDlvDapServerProcess(
502
482
}
503
483
} ) ;
504
484
p . on ( 'error' , ( err ) => {
505
- if ( ! started ) {
506
- stopWaitingForServerToStart ( `Unexpected error from dlv dap on start: '${ err } '` ) ;
507
- }
508
485
if ( err ) {
509
486
logConsole ( `Error: ${ err } \n` ) ;
510
487
}
0 commit comments