-
-
Notifications
You must be signed in to change notification settings - Fork 113
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
TestPipelineCall fails #420
Labels
Comments
Git bisect blames 7844043 |
zenhack
added a commit
to zenhack/go-capnp
that referenced
this issue
Jan 13, 2023
No functional change, but this is in preparation to address capnproto#420; we will have to separate these across two separate calls in Returner.
zenhack
added a commit
to zenhack/go-capnp
that referenced
this issue
Jan 13, 2023
(without re-introducing capnproto#394) 420 was a regression introduced by our fix for 394; if we Return() before we fulfill(), this can result in out of order message delivery, since incoming calls can be made directly on clients in the result before all queued calls are drained. Previously, if we fulfilled() before Return(), we would get a data race as fillPayloadCapTable modified the message while pipelined calls read it. Having split Return(error) into PrepareReturn(error) and Return(), it is now safe to move just the latter after the call to fulfill().
Merged
zenhack
added a commit
that referenced
this issue
Jan 13, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This is new, isn't it? ☝️
Originally posted by @lthibault in #418 (comment)
The text was updated successfully, but these errors were encountered: