From 5809b6a4282f7ce58e0d815d9326289a8ee7ddb6 Mon Sep 17 00:00:00 2001 From: Haowei Cai Date: Thu, 28 Mar 2019 16:55:03 -0700 Subject: [PATCH] document the usage of errCh --- .../src/k8s.io/apiserver/pkg/server/filters/timeout.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/staging/src/k8s.io/apiserver/pkg/server/filters/timeout.go b/staging/src/k8s.io/apiserver/pkg/server/filters/timeout.go index 56cd8a4ce05..4ade375a2f8 100644 --- a/staging/src/k8s.io/apiserver/pkg/server/filters/timeout.go +++ b/staging/src/k8s.io/apiserver/pkg/server/filters/timeout.go @@ -92,7 +92,8 @@ func (t *timeoutHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { return } - errCh := make(chan interface{}) + // resultCh is used as both errCh and stopCh + resultCh := make(chan interface{}) tw := newTimeoutWriter(w) go func() { defer func() { @@ -103,12 +104,13 @@ func (t *timeoutHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { buf = buf[:runtime.Stack(buf, false)] err = fmt.Sprintf("%v\n%s", err, buf) } - errCh <- err + resultCh <- err }() t.handler.ServeHTTP(tw, r) }() select { - case err := <-errCh: + case err := <-resultCh: + // panic if error occurs; stop otherwise if err != nil { panic(err) }