Skip to content

Commit

Permalink
child_process: define EACCES as a runtime error
Browse files Browse the repository at this point in the history
Access permission on the target child is currently thrown
as an exception. Bring this under the runtime error definition,
much like ENOENT and friends.

PR-URL: #19294
Fixes: nodejs/help#990
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Prince John Wesley <princejohnwesley@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
  • Loading branch information
gireeshpunathil committed Mar 15, 2018
1 parent a1a409a commit 11b6c0d
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion lib/internal/child_process.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ const { isUint8Array } = require('internal/util/types');
const spawn_sync = process.binding('spawn_sync');

const {
UV_EACCES,
UV_EAGAIN,
UV_EINVAL,
UV_EMFILE,
Expand Down Expand Up @@ -315,7 +316,8 @@ ChildProcess.prototype.spawn = function(options) {
var err = this._handle.spawn(options);

// Run-time errors should emit an error, not throw an exception.
if (err === UV_EAGAIN ||
if (err === UV_EACCES ||
err === UV_EAGAIN ||
err === UV_EMFILE ||
err === UV_ENFILE ||
err === UV_ENOENT) {
Expand Down

1 comment on commit 11b6c0d

@the1mills
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

Please sign in to comment.