RxSwift
RxSwift copied to clipboard
fixes stack overflow possibility with merge operators
Fixes https://github.com/ReactiveX/RxSwift/issues/2615 See issue for details
when completing Merge operator iterations (concat(), concatMap() and merge(maxConcurrent:), fixes subscribing immediately to the next in the queue, which can produce values immediately which can re-enter and cause stack overflows. ultimately uses CurrentThreadScheduler and the isScheduleRequired prop to know if it needs to schedule or not. This is similar to Producer.
All tests pass
This looks like a good candidate for a dot release @freak4pc. What do you think?
Hey @geoffmacd, sorry for the long delay on this.
- Did you use your own fix in prod by now? Is it stable?
- Is the code ready from your perspective ?
- Let's rebase / merge with main and have CI run all the tests to make sure we're good.
Thanks!
Hey @freak4pc
Sorry for delay.
- Yes this has been integrated in dropbox for 6 months which heavily uses Rx and is stable.
- yes.
- Will do.
Much appreciated, thank you :)
ok, updated from main. ready to merge