Somewhere along the way, the variable which held the new Client object i...

...n #handle_servers was changed from 'client' to 'c'. The rescue block, however, for Errno::ECONNABORTED continued to try to close 'client', rescuing ALL errors from that call and just returning nil. The simple fix, then, was to rename the 'c' variable to the more descriptive 'client', which means that the Errno::ECONNABORTED rescue will actually close the client.

We can see the old variable here

https://github.com/puma/puma/blob/000deba3c186532b62bac80d77ea9b053491dd00/lib/puma/server.rb#L239-248