-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Darwin: Refactor MTRAsyncWorkQueue to avoid retain cycles #29464
Darwin: Refactor MTRAsyncWorkQueue to avoid retain cycles #29464
Conversation
PR #29464: Size comparison from 9853ecf to 77e4b18 Full report (37 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg)
|
77e4b18
to
d4101be
Compare
PR #29464: Size comparison from 9853ecf to d4101be Full report (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
|
d4101be
to
06d7e90
Compare
- Pass a completion to readyHandler instead of capturing the work item - Hold the context weakly within the queue and handle context loss - Simplify thread-safety by having clear ownership rules for work items
The internal header is no longer needed because MTRAsyncWorkQueue is entirely private to the project now. Also tidy up duplicate / batching logic a little.
06d7e90
to
aa414d8
Compare
PR #29464: Size comparison from f299acb to aa414d8 Full report (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
|
PR #29464: Size comparison from f299acb to f4aa829 Increases (1 build for cc32xx)
Full report (1 build for cc32xx)
|
f4aa829
to
2f95a2f
Compare
PR #29464: Size comparison from beedba2 to 2f95a2f Full report (1 build for cc32xx)
|
PR #29464: Size comparison from beedba2 to 8592ff4 Full report (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
|
PR #29464: Size comparison from beedba2 to 315226c Full report (35 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, k32w, linux, mbed, nrfconnect, psoc6, qpg)
|
Fast-tracking Darwin-only change. |
PR #29464: Size comparison from beedba2 to 6b9a406 Decreases (1 build for bl702)
Full report (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
|
…ip#29464) * Darwin: Refactor MTRAsyncWorkQueue to avoid retain cycles - Pass a completion to readyHandler instead of capturing the work item - Hold the context weakly within the queue and handle context loss - Simplify thread-safety by having clear ownership rules for work items * Darwin: Consolidate MTRAsyncWorkQueue headers The internal header is no longer needed because MTRAsyncWorkQueue is entirely private to the project now. Also tidy up duplicate / batching logic a little. * Darwin: invalidate MTRDevice work queue * Address review comments * Add os_unfair_lock_assert_owner and comments * Introduce MTRAsyncWorkItemRetryCountBase * More tweaks from review
-[MTRDevice invalidate]