Closed Bug 1288031 Opened 3 years ago Closed 3 years ago

CloseHandlerStarted() is called wrongly in WorkerPrivate

Categories

(Core :: DOM: Workers, defect)

50 Branch
defect
Not set

Tracking

()

RESOLVED INVALID
Tracking Status
firefox50 --- affected

People

(Reporter: baku, Assigned: baku)

Details

Attachments

(1 file)

This fix is important because when we are here:

https://dxr.mozilla.org/mozilla-central/source/dom/workers/WorkerPrivate.cpp#5838

with aStatus == Terminating, we create the CloseEventRunnable runnable:

  if (previousStatus == Running && aStatus != Killing) {    
    MOZ_ASSERT(!mCloseHandlerStarted && !mCloseHandlerFinished);  
   
    RefPtr<CloseEventRunnable> closeRunnable = new CloseEventRunnable(this);

then few lines after we do:

https://dxr.mozilla.org/mozilla-central/source/dom/workers/WorkerPrivate.cpp#5856

  if (aStatus == Terminating) {
    // Only abort the script if we're not yet running the close handler.
    return mCloseHandlerStarted;                                    
  }

and re always returns false because the closeEventRunnable has not been executed yet.

We have a similar pattern when aStatus == Canceling.
Attachment #8772729 - Flags: review?(khuey)
Pushed by amarchesini@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/ba6b75f29652
CloseHandlerStarted() is called wrongly in WorkerPrivate, r=khuey
Hi baku, have backed this out due to W-e10s failures, e.g. https://treeherder.mozilla.org/logviewer.html#?job_id=32331215&repo=mozilla-inbound#L4263
Flags: needinfo?(amarchesini)
Backout by ihsiao@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/d3c449980296
Backed out changeset ba6b75f29652 for web platform e10s test failure
I'll merge this patch in some other bug when needed.
Flags: needinfo?(amarchesini)
Bug 790919 removes  CloseHandlerStarted completely
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.