Make nsCancelableRunnable an abstract class
Categories
(Core :: XPCOM, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox85 | --- | fixed |
People
(Reporter: bent.mozilla, Assigned: karlt)
References
Details
Attachments
(7 files)
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details |
Reporter | ||
Comment 1•10 years ago
|
||
Comment 2•10 years ago
|
||
Assignee | ||
Comment 3•4 years ago
|
||
The cancelable concept has become conflated with a slightly different concept for workers. Workers may not actually run all queued runnables, and so runnables must be safe to retire. Cancelable runnables are always safe to retire, so cancelable runnables were permitted for workers. But this sufficient condition has been applied as necessary conditions. Multiple runnables have been marked as cancelable to satisfy these conditions without actually implementing cancellation. I'll post some patches to introduce a new class, sufficent for workers, but not claiming to implement cancellation.
See bug 1411520 for an example of non-cancelable CancelableRunnable for workers.
Assignee | ||
Comment 4•4 years ago
|
||
Assignee | ||
Comment 5•4 years ago
|
||
Depends on D98115
Assignee | ||
Comment 6•4 years ago
|
||
Classes that inherit from MaybeRunnable are only promising that it is OK for Run() to be skipped, rather than promising that Cancel() is effective.
Depends on D98116
Assignee | ||
Comment 7•4 years ago
|
||
Depends on D98117
Assignee | ||
Comment 8•4 years ago
|
||
Depends on D98118
Assignee | ||
Comment 9•4 years ago
|
||
This causes no behavior changes in the current code because existing runnables
passed to NS_DispatchToThreadQueue() are either run on the main thread where
OnDoomed() is not called or they have only a no-op OnDoomed().
Depends on D98119
Updated•4 years ago
|
Assignee | ||
Comment 10•4 years ago
|
||
Assignee | ||
Updated•4 years ago
|
Comment 11•4 years ago
|
||
Comment 12•4 years ago
|
||
bugherder |
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Comment 13•4 years ago
|
||
Comment 14•4 years ago
|
||
bugherder |
Assignee | ||
Updated•4 years ago
|
Comment 15•4 years ago
|
||
Comment 16•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/6c5750b3a0c7
https://hg.mozilla.org/mozilla-central/rev/f463fde9f5e2
Comment 17•4 years ago
|
||
Comment 18•4 years ago
|
||
bugherder |
Description
•