do not flush if Write() failed (#13597)

- Go might reset the internal http.ResponseWriter() to `nil`
  after Write() failure if the go-routine has returned, do not
  flush() such scenarios and avoid spurious flushes() as
  returning handlers always flush.
- fix some racy tests with the console 
- avoid ticker leaks in certain situations
This commit is contained in:
Harshavardhana
2021-11-18 17:19:58 -08:00
committed by GitHub
parent 7700973538
commit fb268add7a
9 changed files with 112 additions and 54 deletions

View File

@@ -66,8 +66,8 @@ func handleSignals() {
logger.LogIf(context.Background(), oerr)
}
if globalConsoleSrv != nil {
logger.LogIf(context.Background(), globalConsoleSrv.Shutdown())
if srv := newConsoleServerFn(); srv != nil {
logger.LogIf(context.Background(), srv.Shutdown())
}
return (err == nil && oerr == nil)