Re: [PATCH 6/6] remote-curl: ensure last packet is a flush
- From
Denton Liu <liu.denton@gmail.com>
- Date
- May 15, 2020, 21:02 UTC
- Message-ID
- <20200515210245.GA3278654@generichostname>
- In-Reply-To
- <7a689da2bb820f70d9e668d656b088af2297d456.1589393036.git.liu.denton@gmail.com>
On Wed, May 13, 2020 at 02:04:58PM -0400, Denton Liu wrote:
Show 11 quoted lines
> This is not a complete solution to the problem, however. It is possible
> that a flush packet could be sent in the middle of a message and the
> connection could die immediately after. Then, remote-curl would not
> error out and fetch-pack would still be in the middle of a transaction
> and they would enter deadlock. A complete solution would involve
> reframing the stateless-connect protocol, possibly by introducing
> another control packet ("0002"?) as a stateless request separator
> packet which is always sent at the end of post_rpc().
>
> Although this is not a complete solution, it is better than nothing and
> it resolves the reported issue for now.I managed to get the implementation of the control packet working. As a result, I will be dropping this patch in the next reroll and replacing it with the more complete solution. For anyone reviewing, feel free to skip this patch.