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

sync_send_to causes deadlock when sending to calling module #89

Open
sjrct opened this issue Oct 4, 2017 · 1 comment
Open

sync_send_to causes deadlock when sending to calling module #89

sjrct opened this issue Oct 4, 2017 · 1 comment
Labels

Comments

@sjrct
Copy link
Member

sjrct commented Oct 4, 2017

Ideally a self-send should function without causing a deadlock. Minimally, sync_send_to should throw an exception when there is a potential deadlock.

@sjrct sjrct added the bug label Oct 4, 2017
@sjrct sjrct changed the title sync_send_to causes deadlock when sending to itself. sync_send_to causes deadlock when sending to calling module Oct 4, 2017
@richteer
Copy link
Contributor

richteer commented Oct 20, 2017

This deadlock problem is making me reconsider our concurrency model. I think it might be worth revisiting since the introduction of sync_send_to -- after doing some brief research into coroutines and such, there are cases where deadlocks can be formed due to improper use/waiting on futures.

Expect a crazy RFC PR in the future that might overhaul how message processing/handling works (again). I'm leaning towards a single event loop and proper use of await/yield/etc.

Side note: I'm merging the temporary fix into master, but leaving this issue open since we have a bigger fish to fry here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants