Skip to content
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

Let feedback effects start immediately. #21

Merged
merged 2 commits into from
Apr 24, 2018

Conversation

andersio
Copy link
Contributor

@andersio andersio commented Apr 1, 2018

The signal recursion deadlock happens to the new state signal only when we deliver new events synchronously. New events have already been made asynchronous by observe(on:), which renders start(on:) unnecessary in the course of breaking signal recursion.

This also makes the behaviour of the system producer (and its Property initialiser variant) a bit more predictable, in the sense that we can be sure all the feedbacks are started right in place, instead of scheduled asynchronously. This can be important when used in conjunction with timing-sensitive hot Signals.

Thanks @p4checo for questioning its necessity.

@andersio andersio self-assigned this Apr 1, 2018
andersio added 2 commits April 1, 2018 18:32
`start(on:)` is not essential for breaking signal recursion.
@andersio andersio force-pushed the anders/start-immediately branch from b77fd5b to 0090fec Compare April 1, 2018 17:33
@RuiAAPeres RuiAAPeres merged commit 1c99379 into develop Apr 24, 2018
@RuiAAPeres RuiAAPeres deleted the anders/start-immediately branch April 24, 2018 20:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants