diff options
author | Aliaksandr Valialkin <valyala@gmail.com> | 2015-11-23 19:41:43 +0200 |
---|---|---|
committer | Aliaksandr Valialkin <valyala@gmail.com> | 2015-11-23 19:41:43 +0200 |
commit | 146145240d9850b4f1a17069eada06ebc3bc1f1d (patch) | |
tree | b72729e9d887565339c304b2ab6f5d6989b8553c /workerpool.go | |
parent | Added a tip for writing tests and benchmarks for hot paths (diff) | |
download | fasthttp-146145240d9850b4f1a17069eada06ebc3bc1f1d.tar.gz fasthttp-146145240d9850b4f1a17069eada06ebc3bc1f1d.tar.bz2 fasthttp-146145240d9850b4f1a17069eada06ebc3bc1f1d.zip |
Added RequestCtx.Hijack() for connections' hijacking
Diffstat (limited to 'workerpool.go')
-rw-r--r-- | workerpool.go | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/workerpool.go b/workerpool.go index 0fc44fb..a650eb6 100644 --- a/workerpool.go +++ b/workerpool.go @@ -162,13 +162,15 @@ func (wp *workerPool) workerFunc(ch *workerChan) { if c == nil { break } - if err = wp.WorkerFunc(c); err != nil { + if err = wp.WorkerFunc(c); err != nil && err != errHijacked { errStr := err.Error() if !strings.Contains(errStr, "broken pipe") && !strings.Contains(errStr, "reset by peer") { wp.Logger.Printf("error when serving connection %q<->%q: %s", c.LocalAddr(), c.RemoteAddr(), err) } } - c.Close() + if err != errHijacked { + c.Close() + } c = nil if !wp.release(ch) { |