Closed
Bug 710963
Opened 14 years ago
Closed 11 years ago
Improve delegate callback deferral
Categories
(Firefox for Android Graveyard :: Android Sync, defect, P4)
Tracking
(fennec+)
RESOLVED
INVALID
Tracking | Status | |
---|---|---|
fennec | + | --- |
People
(Reporter: rnewman, Unassigned)
References
Details
(Whiteboard: [mentor=rnewman])
The entire Sync implementation is structured around delegate callbacks. Sometimes it also uses locks. Mixing both synchronous and asynchronous invocation of callbacks with locks is a recipe for disaster -- either you'll get deadlocks, or you'll get recursive lock entry with mismatched notify/waits.
The "live" portion of the code now has a .deferredFooDelegate() method on each delegate interface, which returns a wrapper around the delegate implementation.
This should be switched to use either a common thread (pool) or an event loop. Additionally, the remaining less-used delegate interfaces should be extended in the same way.
If you don't understand one of the terms in the preceding three paragraphs, please don't attempt to fix this bug.
Reporter | ||
Comment 1•14 years ago
|
||
This now uses a thread pool, but I'd prefer to avoid even that.
Reporter | ||
Comment 2•14 years ago
|
||
We now use single-thread-pool ExecutorServices in most places. We might be able to do better than that, and we also need to use them in more places: Bug 713483.
Depends on: 713483
Reporter | ||
Updated•14 years ago
|
Assignee: nobody → rnewman
Status: NEW → ASSIGNED
Updated•13 years ago
|
tracking-fennec: --- → ?
Updated•13 years ago
|
tracking-fennec: ? → +
Reporter | ||
Updated•13 years ago
|
Priority: P2 → P4
Reporter | ||
Updated•12 years ago
|
Assignee: rnewman → nobody
Reporter | ||
Updated•12 years ago
|
Status: ASSIGNED → NEW
Assignee | ||
Updated•12 years ago
|
Product: Mozilla Services → Android Background Services
Updated•11 years ago
|
Whiteboard: [mentor=rnewman]
Comment 3•11 years ago
|
||
The issues that we were worried about have largely not transpired; we have discovered patterns that work well in practice, and we're not going to retro-fit a lot of code for small benefit, so closing.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → INVALID
Updated•8 years ago
|
Product: Android Background Services → Firefox for Android
Updated•5 years ago
|
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•