Closed Bug 1252212 Opened 8 years ago Closed 8 years ago

Bring some sanity to the RIL WorkerRun stuff

Categories

(Core :: DOM: Core & HTML, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla47
Tracking Status
firefox47 --- fixed

People

(Reporter: bzbarsky, Assigned: bzbarsky)

References

Details

(Whiteboard: btpp-active)

Attachments

(1 file)

From my notes for bug 1072144:

  -- This is WorkerTaskRunnable.  It calls RunTask and returns its return
     value. This is only usd in ril code.  Of the three implementations: (a)
     RilWorker::UnregisterConsumerTask::RunTask does not use aCx and does not
     throw.  (b) RilSocketIO::ReceiveTask::RunTask calls
     RilSocket::ReceiveSocketData which calls
     RilSocketConsumer::ReceiveSocketData.  That's a pure virtual method and in
     practice only implemented by RilConsumer, which calls Receive.  This will
     do JSAPI stuff that can throw and will happily return true, leaving
     dangling exceptions.  XXXbz: This seems very broken.  Note that
     ReceiveSocketData is a void method, so it couldn't report an error even if
     it wanted to.  khuey says we don't care, just suppress things or something;
     worksforme.  (c) RilWorker::RegisterConsumerTask::RunTask calls
     ConnectWorkerToRIL which can both report pending exceptions itself and
     leave them on the JSContext, in both cases returning failure which gets
     turned into a false return from RunTask.  So this stuff is OK as long as we
     report exceptions in PostRun, which none of this stuff overrides.

This bug is about fixing that XXX comment.
Blocks: 1072144
Whiteboard: btpp-active
https://hg.mozilla.org/mozilla-central/rev/dc2e892cf79d
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla47
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: