capnproto / go-capnp

Cap'n Proto library and code generator for Go

Home Page:https://capnproto.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Outstanding calls are not rejected on disconnects

zenhack opened this issue · comments

Reported via matrix: the connection shutdown logic does not currently reject all promises in the questions table. call messages that are still in the send queue when the connection drops are handled correctly, but call messages which are already on the wire are never rejected.

Fixing this should be relatively straightforward; we need to walk over the questions table and reject everything. The only hitch is to make sure we don't double-free things that are in the queue.