Daniel C. Weber
|
42fa781793
Merge pull request #771 from danielcweber/MakeSinkDisposableIdempotent
|
7 years ago |
Daniel Weber
|
9682ba031e
Don't check Sink._observer upfront because for a reasonable number of expected calls (< 3), the benefit will not show.
|
7 years ago |
Daniel Weber
|
35757bd082
Sink.Dispose should only call Dispose(true) once.
|
7 years ago |
Daniel C. Weber
|
0bf8cffdae
Merge pull request #766 from danielcweber/AvoidLeakingTaskContinuations
|
7 years ago |
Daniel C. Weber
|
c627bb7a71
Merge pull request #765 from danielcweber/FixTaskObservableExtensionsSubscribe
|
7 years ago |
Daniel C. Weber
|
1cc721dd7f
Merge pull request #767 from danielcweber/UseStableCompositeDisposableCreate
|
7 years ago |
Daniel Weber
|
81c2ff1d4b
Use StableCompositeDisposable.Create for two disposables.
|
7 years ago |
Daniel Weber
|
bdcdf8ad59
Cleanup.
|
7 years ago |
Daniel Weber
|
26cbadf62c
Avoid continuation leaks in TaskObservableExtensions.ToObservable. This is a bit more involved. The continuation must not be registered before a subscription happens because it might leak on long lived tasks. So instead of registering a continuation on a task once and forwarding the results to an AsyncSubject, we construct an Observable that registers the continuation for each subscription. Memory performance might of course go down if a lot of subscriptions happen on a task, but it won't leak.
|
7 years ago |
Daniel Weber
|
c4121798ff
SelectMany: Cancel continuations as soon as the Sink is disposed to avoid a leaking continuation if the task lives longer than the Sink.
|
7 years ago |
Daniel Weber
|
f850df1c98
A Task-continuation should be cancelled when the Sink is disposed to avoid leaking the continuation on long-lived tasks.
|
7 years ago |
Daniel Weber
|
a4b6c2b743
Simplify a continuation.
|
7 years ago |
Daniel Weber
|
9c708d3b34
Fix in TaskObservableExtensions.Subscribe: According to https://github.com/dotnet/coreclr/blob/master/src/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs#L3611, the default-TaskScheduler is not TaskScheduler.Default but TaskScheduler.Current.
|
7 years ago |
Daniel C. Weber
|
c3844b48be
Merge pull request #762 from akarnokd/OneShotScheduleOperators
|
7 years ago |
Dávid Karnok
|
d8dff4a671
Add missink comma
|
7 years ago |
David Karnok
|
7de5f747c1
Merge branch 'master' into OneShotScheduleOperators
|
7 years ago |
Daniel C. Weber
|
46be536ece
Merge pull request #763 from akarnokd/StableCompositeDisposableNAryImprovements
|
7 years ago |
akarnokd
|
0fc86a0c41
4.x: Reduce StableCompositeDisposable.Create overhead via dedicated implementation
|
7 years ago |
akarnokd
|
790f0748e2
4.x: Improve Return/Throw/Append/Prepend with ImmediateScheduler
|
7 years ago |
Daniel C. Weber
|
6af51d0d18
Merge pull request #761 from danielcweber/PossiblyFixLatest
|
7 years ago |
Daniel C. Weber
|
cb8d44dbc8
Merge pull request #760 from danielcweber/ReviewTaskObservableExtensions
|
7 years ago |
Daniel C. Weber
|
58a55ba81f
Merge pull request #757 from danielcweber/MoreReSharperReview
|
7 years ago |
Daniel Weber
|
67bb6b7080
There is an unused field in Latest that is only assigned to. On the other hand, access to the _value field happens once inside a lock and once outside. It's most probably a bug and the temporary variable should be used instead.
|
7 years ago |
Daniel C. Weber
|
064b8651b1
Merge pull request #758 from danielcweber/SaveStaticPerGenericClassField
|
7 years ago |
Daniel C. Weber
|
fcd8d279c0
Merge pull request #744 from danielcweber/ReviewQueryLanguageCreation
|
7 years ago |
Daniel C. Weber
|
e5bfae9093
Merge pull request #756 from akarnokd/IxCodeCleanup
|
7 years ago |
Daniel Weber
|
d011957489
Save one static per-generic-class field.
|
7 years ago |
Daniel Weber
|
28f51f673b
Simplify ToObservableImpl, that also makes it provable that we never return null.
|
7 years ago |
Daniel Weber
|
085e9e7c0b
Make ToObservableResult an extension method.
|
7 years ago |
Daniel Weber
|
ad703e9360
Make EmitTaskResult an extension method.
|
7 years ago |