New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lib: fixme defer error to next tick #4670

Closed
wants to merge 1 commit into
base: master
from

Conversation

Projects
None yet
@tflanagan
Contributor

tflanagan commented Jan 13, 2016

Fixes FIXMEs in lib/internal/child_process.js ref's #4642

...
      process.nextTick(callback, ex);
    } else {
      this.emit('error', ex);  // FIXME(bnoordhuis) Defer to next tick.
    }
    return false;
...
        process.nextTick(callback, ex);
      } else {
        this.emit('error', ex);  // FIXME(bnoordhuis) Defer to next tick.
      }
    }
@jasnell

This comment has been minimized.

Show comment
Hide comment
@jasnell

jasnell Jan 13, 2016

Member

Marking this as a possible semver-minor due to the change in the timing. @bnoordhuis .. thoughts on this one?

Member

jasnell commented Jan 13, 2016

Marking this as a possible semver-minor due to the change in the timing. @bnoordhuis .. thoughts on this one?

@cjihrig

This comment has been minimized.

Show comment
Hide comment
@cjihrig

cjihrig Jan 13, 2016

Contributor

Wouldn't a change in timing be a semver-major change?

Contributor

cjihrig commented Jan 13, 2016

Wouldn't a change in timing be a semver-major change?

@jasnell

This comment has been minimized.

Show comment
Hide comment
@jasnell

jasnell Jan 14, 2016

Member

Possibly yes.

Member

jasnell commented Jan 14, 2016

Possibly yes.

@tflanagan

This comment has been minimized.

Show comment
Hide comment
@tflanagan

tflanagan Jan 22, 2016

Contributor

I've updated this PR to match master

Contributor

tflanagan commented Jan 22, 2016

I've updated this PR to match master

@jasnell

This comment has been minimized.

Show comment
Hide comment
@jasnell

jasnell Jan 23, 2016

Member

@bnoordhuis ... thoughts?

Member

jasnell commented Jan 23, 2016

@bnoordhuis ... thoughts?

@tflanagan

This comment has been minimized.

Show comment
Hide comment
@tflanagan

tflanagan Feb 17, 2016

Contributor

/poke @bnoordhuis

Contributor

tflanagan commented Feb 17, 2016

/poke @bnoordhuis

@Trott

This comment has been minimized.

Show comment
Hide comment
@thefourtheye

This comment has been minimized.

Show comment
Hide comment
@thefourtheye

thefourtheye Feb 18, 2016

Contributor

Related work: #5251

Contributor

thefourtheye commented Feb 18, 2016

Related work: #5251

@jasnell

This comment has been minimized.

Show comment
Hide comment
@jasnell
Member

jasnell commented Mar 22, 2016

@bnoordhuis

This comment has been minimized.

Show comment
Hide comment
@bnoordhuis

bnoordhuis Mar 22, 2016

Member

LGTM if tests pass. I'd make it semver-major just to be safe. CI: https://ci.nodejs.org/job/node-test-pull-request/2027/

Member

bnoordhuis commented Mar 22, 2016

LGTM if tests pass. I'd make it semver-major just to be safe. CI: https://ci.nodejs.org/job/node-test-pull-request/2027/

@jasnell jasnell added semver-major and removed semver-minor labels Mar 22, 2016

@MylesBorins

This comment has been minimized.

Show comment
Hide comment
@MylesBorins

MylesBorins Jun 17, 2016

Member

should we add this to the v7 milestone?

Member

MylesBorins commented Jun 17, 2016

should we add this to the v7 milestone?

@imyller

This comment has been minimized.

Show comment
Hide comment
@imyller

imyller Sep 15, 2016

Member

FIXME states that emitting error should be deferred to next tick. setImmediate does this.

process.nextTick and setImmediate have confusing names, since setImmediate will actually defer emitting the error to next tick and process.nextTick will emit error within current tick cycle.

Thus nextTick has lower latency, but does it matter in this case?

Member

imyller commented Sep 15, 2016

FIXME states that emitting error should be deferred to next tick. setImmediate does this.

process.nextTick and setImmediate have confusing names, since setImmediate will actually defer emitting the error to next tick and process.nextTick will emit error within current tick cycle.

Thus nextTick has lower latency, but does it matter in this case?

@Trott

This comment has been minimized.

Show comment
Hide comment
@Trott

Trott Sep 16, 2016

Member

LGTM. Since it's semver-major (out of caution, not because this is actually expected to cause huge problems), I'm going to ping @nodejs/ctc to see if anyone else wants to LGTM or wait wait wait wat no no no this.

Also, since it's been dormant a while, might be good to run one last CI. Also a CITGM because: semver-major.

CI: https://ci.nodejs.org/job/node-test-pull-request/4076/
CITGM: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/387/

Member

Trott commented Sep 16, 2016

LGTM. Since it's semver-major (out of caution, not because this is actually expected to cause huge problems), I'm going to ping @nodejs/ctc to see if anyone else wants to LGTM or wait wait wait wat no no no this.

Also, since it's been dormant a while, might be good to run one last CI. Also a CITGM because: semver-major.

CI: https://ci.nodejs.org/job/node-test-pull-request/4076/
CITGM: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/387/

@mscdex

This comment has been minimized.

Show comment
Hide comment
@mscdex

mscdex Sep 16, 2016

Contributor

IMHO I don't think it has to be until the next actual tick, I think the original idea was to allow the user to have time to set up an error event handler before it's emitted. process.nextTick() accomplishes this without further unnecessary delay. It's also what is used throughout the code base whenever similar situations arise.

Contributor

mscdex commented Sep 16, 2016

IMHO I don't think it has to be until the next actual tick, I think the original idea was to allow the user to have time to set up an error event handler before it's emitted. process.nextTick() accomplishes this without further unnecessary delay. It's also what is used throughout the code base whenever similar situations arise.

@imyller

This comment has been minimized.

Show comment
Hide comment
@imyller

imyller Sep 16, 2016

Member

Agree with @mscdex

LGTM pending new CI and ctc comments

Member

imyller commented Sep 16, 2016

Agree with @mscdex

LGTM pending new CI and ctc comments

@cjihrig

LGTM

@santigimeno

This comment has been minimized.

Show comment
Hide comment
@santigimeno
Member

santigimeno commented Sep 19, 2016

LGTM

@evanlucas

This comment has been minimized.

Show comment
Hide comment
@evanlucas
Member

evanlucas commented Sep 19, 2016

@jasnell

This comment has been minimized.

Show comment
Hide comment
@jasnell

jasnell Feb 28, 2017

Member

ping @nodejs/ctc ... did we want to land this?

Member

jasnell commented Feb 28, 2017

ping @nodejs/ctc ... did we want to land this?

@jasnell jasnell added the stalled label Mar 1, 2017

@fhinkel

This comment has been minimized.

Show comment
Hide comment
@fhinkel

fhinkel May 23, 2017

Member

There's two approvals and no rejection, so I'd say...yes?

Member

fhinkel commented May 23, 2017

There's two approvals and no rejection, so I'd say...yes?

@gibfahn

This comment has been minimized.

Show comment
Hide comment
@gibfahn

gibfahn May 23, 2017

Member

3 ctc approvals (@bnoordhuis @Trott @cjihrig ) and 2 other collaborator ones ( @imyller @santigimeno) so it should be good to land, probably needs another CI and CitGM run though.

Member

gibfahn commented May 23, 2017

3 ctc approvals (@bnoordhuis @Trott @cjihrig ) and 2 other collaborator ones ( @imyller @santigimeno) so it should be good to land, probably needs another CI and CitGM run though.

@BridgeAR

This comment has been minimized.

Show comment
Hide comment
@BridgeAR

BridgeAR Jun 18, 2017

Member

Seems like this is not stalled and it only has to land?

Member

BridgeAR commented Jun 18, 2017

Seems like this is not stalled and it only has to land?

@Trott Trott removed the stalled label Aug 10, 2017

@Trott

This comment has been minimized.

Show comment
Hide comment

Trott added a commit to Trott/io.js that referenced this pull request Aug 13, 2017

child_process: defer error to next tick
PR-URL: nodejs#4670
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Ilkka Myller <ilkka.myller@nodefield.com>
@Trott

This comment has been minimized.

Show comment
Hide comment
@Trott

Trott Aug 13, 2017

Member

Landed in f2b01cb.

Triageathon 2017!

Member

Trott commented Aug 13, 2017

Landed in f2b01cb.

Triageathon 2017!

@Trott Trott closed this Aug 13, 2017

@SimenB SimenB referenced this pull request Oct 19, 2017

Closed

src: use new V8 API in vm module #16293

6 of 8 tasks complete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment