-
Notifications
You must be signed in to change notification settings - Fork 750
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
Ix: Do not dispose the enumerator while enumerating in the ToObservable operator. #915
Ix: Do not dispose the enumerator while enumerating in the ToObservable operator. #915
Conversation
Ix.NET/Source/System.Linq.Async/System/Linq/Operators/ToObservable.cs
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm using now the original logic without catching Rx pipeline exceptions. There are two places, however, where the enumerator could throw without being catched atm.
Ix.NET/Source/System.Linq.Async/System/Linq/Operators/ToObservable.cs
Outdated
Show resolved
Hide resolved
Ix.NET/Source/System.Linq.Async/System/Linq/Operators/ToObservable.cs
Outdated
Show resolved
Hide resolved
Review by @bartdesmet still needed? His earlier review has been adressed by @quinmars if I see this correctly. |
Somehow, github could not link the commit to @bartholinie. Does any one know how to make that work? |
"Jens Chr authored and quinmars committed 12 hours ago". Commit info is preserved, isn't it? |
The requested change was about the recursion and has been adressed, right? Would merge after checks pass. |
Right the commit info is preserve, but @bartholinie is not listed in the contributors list. |
@onovotny @bartdesmet Can we have a Linq.Async / Ix.Async preview that would contain this fix? Thanks a lot. |
As pointed out by @danielcweber the current implementation of
ToObservable
may violate the contract ofIAsyncEnumerator
, because it is possible to callDisposeAsync
during an on goingMoveNextAsync
call.#423 (comment)