Fix operators that may stall when cold sources aren't receiving P… (#60)
* Fix synchronous make Close signal
* Continue allowing Pull/Close/Push on inner mergeMap sources
* Continue allowing Pull/Close/Push on switchMap's inner source
* Continue allowing Pull/Close/Push on concatMap's inner source
* Fix missing Pull in mergeMap and add merge source test
* Implement alternative passesSourcePushThenEnd suite
This is for eager operators that send an additional
Pull signal when they're not expecting one to come
in from the sink. All {merge,switch,concat}Map operators
need to pass this instead of passSourceEnd.
* Add active pulling to sample
sample needs to also actively send Pull signals as
it may not forward any that will cause Pull signals.
* Add active pulling to buffer
* Add active pulling to takeUntil
* Ensure merge sources are instantiated first
Ensure that all merge sources are eagerly pulled
and started without hanging and waiting for the
first source.
Before `merge` and `mergeMap` would behave like
`concat` and `concatMap` when the first source
wouldn't push or end.
* Fix timing of eager pull in mergeMap
* Add test for interval source to merge source
* Revert change to make teardown
authored by