debugger: call this.resume() after this.run()

When the debugger has started we need to call `this.resume` otherwise,
the prompt won't appear.

Fixes: https://github.com/nodejs/node/issues/9854
PR-URL: https://github.com/nodejs/node/pull/10099
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rich Trott <rtrott@gmail.com>
This commit is contained in:
Lance Ball
2016-12-02 17:36:02 -05:00
parent 196d27dd8c
commit 6410534ec1
2 changed files with 14 additions and 1 deletions

View File

@@ -839,7 +839,7 @@ function Interface(stdin, stdout, args) {
// Run script automatically
this.pause();
setImmediate(() => { this.run(); });
setImmediate(() => { this.run(() => this.resume()); });
}

View File

@@ -0,0 +1,13 @@
'use strict';
const assert = require('assert');
const common = require('../common');
const spawn = require('child_process').spawn;
const proc = spawn(process.execPath, ['debug', 'foo']);
proc.stdout.setEncoding('utf8');
proc.stdout.once('data', common.mustCall((data) => {
assert.strictEqual(data, 'debug> ');
proc.kill();
}));