That seems very outdated? Doesn't `shutdown` resolve the problem here?

Shutdown only helps if it's used; but TFA didn't mention it. So they're going to have to relearn the lessons of the 90s?

Also, I think state of the art hasn't really changed? If you don't want a reset, you need to read everything from the socket before you close. If you don't really care about a reset as long as it doesn't interrupt the reader, you can shutdown in your direction, and drop the socket off to something that will wait "long enough" before it closes. In an eventloop architecture, you can just put in as a deferred task; in process per connection, you should probably send the socket to a dedicated lingering closer process that doesn't interrupt your flow.

> Shutdown only helps if it's used; but TFA didn't mention it.

There's a part 2. It's only linked at the top for some reason, not at the bottom.

Part 2 says they tried shutdown and it didn't change anything.