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

Merge clientHook refcounts, fix #348 #508

Merged
merged 5 commits into from
May 24, 2023
Merged

Conversation

zenhack
Copy link
Contributor

@zenhack zenhack commented Apr 26, 2023

This patch:

It includes #502, so we should merge that first -- though I haven't yet pinned down the test failures. The last two commits are the parts relevant to this change.

...because fewer special cases are better. This also resolves everything
but the documentation for capnproto#423.

One of the tests had to be reworked a bit because the exact sequence of
messages was a bit different, but still correct.
Per Louis's questions.
This will simplify transitioning to using the rc package for
refcounting.

Right now there is a bug where one of the tests is failing with an error
about multiple shutdowns -- I think this is likely equivalent to capnproto#348
(the done channel is gone), but it seems to be deterministic now.
This Shutdown() is redundant with the one in clientPromise.shutdown().
When capnproto#348 was filed, this was a close() on the done channel instead of a
call to ClientHook.Shutdown, but became the latter after merging
calls and refs -- done was for the former, Shutdown() for the latter.

I'm still not 100% sure why this used to be non-deterministic.
@zenhack zenhack merged commit cab1c2e into capnproto:main May 24, 2023
@zenhack zenhack deleted the single-refcount branch May 24, 2023 20:09
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.

panic (close of closed channel) in TestCallReceiverRpc
2 participants