Convert all idlingResource to event-based
Open
type: enhancement
- Dominant language
- Objective-C
- Stars
- 5.7k
- Forks
- 737
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 5
Description
isIdleNow method is polled by the thread executor. Instead use event-based model in which the thread executor calls CFRunLoopRun and waits for the idling resources to idle. Once all the idling resources are idle, the last one to idle issues a CFRunLoopStop, returning control back to the thread executor.
Contributor guide
Research direction
Start by locating the idlingResource implementation, its isIdleNow polling path, and the thread executor. Then trace how CFRunLoopRun and CFRunLoopStop would interact with all idling resources. Done means the executor waits on the run loop and the last resource to become idle returns control without polling.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- objective-c
- Domain
- mobile-dev, testing-qa
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100