| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 06b4140 commit 9372aee
4 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -341,7 +341,7 @@ | |||
| 341 | 341 | // Defer evaluation for a tick. This is a workaround for deferred | |
| 342 | 342 | // events not firing when evaluating scripts from the command line, | |
| 343 | 343 | // see https://github.com/nodejs/node/issues/1600. | |
| 344 | - process.nextTick(function() { | ||
| 344 | + setImmediate(function() { | ||
| 345 | 345 | const result = module._compile(script, `${name}-wrapper`); | |
| 346 | 346 | if (process._print_eval) console.log(result); | |
| 347 | 347 | }); | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -6,9 +6,10 @@ SyntaxError: Strict mode code may not include a with statement | |||
| 6 | 6 | at Object.exports.runInThisContext (vm.js:*) | |
| 7 | 7 | at Object.<anonymous> ([eval]-wrapper:*:*) | |
| 8 | 8 | at Module._compile (module.js:*:*) | |
| 9 | - at bootstrap_node.js:*:* | ||
| 10 | - at _combinedTickCallback (internal/process/next_tick.js:*:*) | ||
| 11 | - at process._tickCallback (internal/process/next_tick.js:*:*) | ||
| 9 | + at Immediate.<anonymous> (bootstrap_node.js:*:*) | ||
| 10 | + at runCallback (timers.js:*:*) | ||
| 11 | + at tryOnImmediate (timers.js:*:*) | ||
| 12 | + at processImmediate [as _immediateCallback] (timers.js:*:*) | ||
| 12 | 13 | 42 | |
| 13 | 14 | 42 | |
| 14 | 15 | [eval]:1 | |
@@ -20,9 +21,10 @@ Error: hello | |||
| 20 | 21 | at Object.exports.runInThisContext (vm.js:*) | |
| 21 | 22 | at Object.<anonymous> ([eval]-wrapper:*:*) | |
| 22 | 23 | at Module._compile (module.js:*:*) | |
| 23 | - at bootstrap_node.js:*:* | ||
| 24 | - at _combinedTickCallback (internal/process/next_tick.js:*:*) | ||
| 25 | - at process._tickCallback (internal/process/next_tick.js:*:*) | ||
| 24 | + at Immediate.<anonymous> (bootstrap_node.js:*:*) | ||
| 25 | + at runCallback (timers.js:*:*) | ||
| 26 | + at tryOnImmediate (timers.js:*:*) | ||
| 27 | + at processImmediate [as _immediateCallback] (timers.js:*:*) | ||
| 26 | 28 | [eval]:1 | |
| 27 | 29 | throw new Error("hello") | |
| 28 | 30 | ^ | |
@@ -32,9 +34,10 @@ Error: hello | |||
| 32 | 34 | at Object.exports.runInThisContext (vm.js:*) | |
| 33 | 35 | at Object.<anonymous> ([eval]-wrapper:*:*) | |
| 34 | 36 | at Module._compile (module.js:*:*) | |
| 35 | - at bootstrap_node.js:*:* | ||
| 36 | - at _combinedTickCallback (internal/process/next_tick.js:*:*) | ||
| 37 | - at process._tickCallback (internal/process/next_tick.js:*:*) | ||
| 37 | + at Immediate.<anonymous> (bootstrap_node.js:*:*) | ||
| 38 | + at runCallback (timers.js:*:*) | ||
| 39 | + at tryOnImmediate (timers.js:*:*) | ||
| 40 | + at processImmediate [as _immediateCallback] (timers.js:*:*) | ||
| 38 | 41 | 100 | |
| 39 | 42 | [eval]:1 | |
| 40 | 43 | var x = 100; y = x; | |
@@ -45,9 +48,10 @@ ReferenceError: y is not defined | |||
| 45 | 48 | at Object.exports.runInThisContext (vm.js:*) | |
| 46 | 49 | at Object.<anonymous> ([eval]-wrapper:*:*) | |
| 47 | 50 | at Module._compile (module.js:*:*) | |
| 48 | - at bootstrap_node.js:*:* | ||
| 49 | - at _combinedTickCallback (internal/process/next_tick.js:*:*) | ||
| 50 | - at process._tickCallback (internal/process/next_tick.js:*:*) | ||
| 51 | + at Immediate.<anonymous> (bootstrap_node.js:*:*) | ||
| 52 | + at runCallback (timers.js:*:*) | ||
| 53 | + at tryOnImmediate (timers.js:*:*) | ||
| 54 | + at processImmediate [as _immediateCallback] (timers.js:*:*) | ||
| 51 | 55 | [eval]:1 | |
| 52 | 56 | var ______________________________________________; throw 10 | |
| 53 | 57 | ^ | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -7,9 +7,10 @@ SyntaxError: Strict mode code may not include a with statement | |||
| 7 | 7 | at Object.exports.runInThisContext (vm.js:*) | |
| 8 | 8 | at Object.<anonymous> ([stdin]-wrapper:*:*) | |
| 9 | 9 | at Module._compile (module.js:*:*) | |
| 10 | - at bootstrap_node.js:*:* | ||
| 11 | - at _combinedTickCallback (internal/process/next_tick.js:*:*) | ||
| 12 | - at process._tickCallback (internal/process/next_tick.js:*:*) | ||
| 10 | + at Immediate.<anonymous> (bootstrap_node.js:*:*) | ||
| 11 | + at runCallback (timers.js:*:*) | ||
| 12 | + at tryOnImmediate (timers.js:*:*) | ||
| 13 | + at processImmediate [as _immediateCallback] (timers.js:*:*) | ||
| 13 | 14 | 42 | |
| 14 | 15 | 42 | |
| 15 | 16 | ||
@@ -22,9 +23,10 @@ Error: hello | |||
| 22 | 23 | at Object.exports.runInThisContext (vm.js:*) | |
| 23 | 24 | at Object.<anonymous> ([stdin]-wrapper:*:*) | |
| 24 | 25 | at Module._compile (module.js:*:*) | |
| 25 | - at bootstrap_node.js:*:* | ||
| 26 | - at _combinedTickCallback (internal/process/next_tick.js:*:*) | ||
| 27 | - at process._tickCallback (internal/process/next_tick.js:*:*) | ||
| 26 | + at Immediate.<anonymous> (bootstrap_node.js:*:*) | ||
| 27 | + at runCallback (timers.js:*:*) | ||
| 28 | + at tryOnImmediate (timers.js:*:*) | ||
| 29 | + at processImmediate [as _immediateCallback] (timers.js:*:*) | ||
| 28 | 30 | ||
| 29 | 31 | [stdin]:1 | |
| 30 | 32 | throw new Error("hello") | |
@@ -35,9 +37,10 @@ Error: hello | |||
| 35 | 37 | at Object.exports.runInThisContext (vm.js:*) | |
| 36 | 38 | at Object.<anonymous> ([stdin]-wrapper:*:*) | |
| 37 | 39 | at Module._compile (module.js:*:*) | |
| 38 | - at bootstrap_node.js:*:* | ||
| 39 | - at _combinedTickCallback (internal/process/next_tick.js:*:*) | ||
| 40 | - at process._tickCallback (internal/process/next_tick.js:*:*) | ||
| 40 | + at Immediate.<anonymous> (bootstrap_node.js:*:*) | ||
| 41 | + at runCallback (timers.js:*:*) | ||
| 42 | + at tryOnImmediate (timers.js:*:*) | ||
| 43 | + at processImmediate [as _immediateCallback] (timers.js:*:*) | ||
| 41 | 44 | 100 | |
| 42 | 45 | ||
| 43 | 46 | [stdin]:1 | |
@@ -49,9 +52,10 @@ ReferenceError: y is not defined | |||
| 49 | 52 | at Object.exports.runInThisContext (vm.js:*) | |
| 50 | 53 | at Object.<anonymous> ([stdin]-wrapper:*:*) | |
| 51 | 54 | at Module._compile (module.js:*:*) | |
| 52 | - at bootstrap_node.js:*:* | ||
| 53 | - at _combinedTickCallback (internal/process/next_tick.js:*:*) | ||
| 54 | - at process._tickCallback (internal/process/next_tick.js:*:*) | ||
| 55 | + at Immediate.<anonymous> (bootstrap_node.js:*:*) | ||
| 56 | + at runCallback (timers.js:*:*) | ||
| 57 | + at tryOnImmediate (timers.js:*:*) | ||
| 58 | + at processImmediate [as _immediateCallback] (timers.js:*:*) | ||
| 55 | 59 | ||
| 56 | 60 | [stdin]:1 | |
| 57 | 61 | var ______________________________________________; throw 10 | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -97,3 +97,18 @@ child.exec(nodejs + ` -e 'require("child_process").fork("${emptyFile}")'`, | |||
| 97 | 97 | assert.equal(stdout, ''); | |
| 98 | 98 | assert.equal(stderr, ''); | |
| 99 | 99 | }); | |
| 100 | + | ||
| 101 | + // Regression test for https://github.com/nodejs/node/issues/8534. | ||
| 102 | + { | ||
| 103 | + const script = ` | ||
| 104 | + // console.log() can revive the event loop so we must be careful | ||
| 105 | + // to write from a 'beforeExit' event listener only once. | ||
| 106 | + process.once("beforeExit", () => console.log("beforeExit")); | ||
| 107 | + process.on("exit", () => console.log("exit")); | ||
| 108 | + console.log("start"); | ||
| 109 | + `; | ||
| 110 | + const options = { encoding: 'utf8' }; | ||
| 111 | + const proc = child.spawnSync(process.execPath, ['-e', script], options); | ||
| 112 | + assert.strictEqual(proc.stderr, ''); | ||
| 113 | + assert.strictEqual(proc.stdout, 'start\nbeforeExit\nexit\n'); | ||
| 114 | + } | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments