Skip to content

Fix possible deadlock from on_closed callback

Pre-release
Pre-release
Compare
Choose a tag to compare
@graebm graebm released this 08 Dec 19:19
· 47 commits to main since this release
5bcc8b0
Release lock before invoking callbacks (#55)

Issue: We were seeing deadlock if one stream was activated from within the on_closed() callback of another stream. This was because we used a lock to protect continuation_table AND the on_closed() callback was automatically invoked when an entry was removed.

Solution is to remove the automatic action when entry removed from table. Instead we invoke the on_closed() callback after the lock is released.