-
Notifications
You must be signed in to change notification settings - Fork 68
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
Pipe with SharedBuffer channels will be dead lock #28
Comments
Yeah, this is a good discovery. I don’t know how to fix it off the top of my head, in hindsight the structure of a lot of the code in this package isn’t very reliable. |
Perhaps we could reserve one buffer slot for each created channel (leaving the rest of the buffer slots truly shared)… this would be less efficient, and not really what you would expect from a “shared buffer”, but would avoid the deadlock. Although if somebody created a “shared buffer” of 3 and then created 10 channels off of it, I don’t know what we’d do. |
Fllow is the example code, the example code is from eapache/channels readme.
the flow graph is blow
data => ch1-in => ch1-out => ch2-in => ch2-out => data
Fllow scenario will deadlock
The text was updated successfully, but these errors were encountered: