Skip to content

Commit

Permalink
MINOR?: stconn/connection: Fix suspect change causing timeouts
Browse files Browse the repository at this point in the history
This fixes an issue I've had where if a connection was idle for ~23s
it would get in a bad state.  I don't understand this code, so I'm
not sure exactly why it was failing.

I discovered this by bisecting to identify the commit that caused the
regression between 2.9 and 3.0.  The commit is
d2c3f8d: "MINOR: stconn/connection:
Move shut modes at the SE descriptor level" - a part of v3.0-dev8.
It seems to be an innocent renaming, so I looked through it and this
stood out as suspect:

    -        if (mode != CO_SHW_NORMAL)
    +        if (mode & SE_SHW_NORMAL)

It looks like the not went missing here, so this patch reverses that
condition.  It fixes my test.

I don't quite understand what this is doing or is for so I can't write
a regression test or decent commit message.  Hopefully someone else
will be able to pick this up from where I've left it.
  • Loading branch information
wmanley committed Jun 6, 2024
1 parent 5590ada commit 78d5c86
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion src/mux_h1.c
Original file line number Diff line number Diff line change
Expand Up @@ -4376,7 +4376,7 @@ static void h1_shut(struct stconn *sc, enum se_shut_mode mode, struct se_abort_i

do_shutw:
h1_close(h1c);
if (mode & SE_SHW_NORMAL)
if (!(mode & SE_SHW_NORMAL))
h1c->flags |= H1C_F_SILENT_SHUT;

if (!b_data(&h1c->obuf))
Expand Down

0 comments on commit 78d5c86

Please sign in to comment.