From cd72109b02202f2b107e8bd710b1b2b2bb402037 Mon Sep 17 00:00:00 2001 From: Ciprian Dorin Craciun Date: Thu, 15 Nov 2018 19:17:48 +0200 Subject: [PATCH] Update server to not release read and write buffers if `ReduceMemoryUsage` is not set --- server.go | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/server.go b/server.go index b548a29..bfa7efc 100644 --- a/server.go +++ b/server.go @@ -1841,7 +1841,7 @@ func (s *Server) serveConn(c net.Conn) error { // If we read any bytes off the wire, we're active. s.setState(c, StateActive) } - if br.Buffered() == 0 || err != nil { + if (s.ReduceMemoryUsage && br.Buffered() == 0) || err != nil { releaseReader(s, br) br = nil } @@ -1875,18 +1875,20 @@ func (s *Server) serveConn(c net.Conn) error { } bw.Write(strResponseContinue) err = bw.Flush() - releaseWriter(s, bw) - bw = nil if err != nil { break } + if s.ReduceMemoryUsage { + releaseWriter(s, bw) + bw = nil + } // Read request body. if br == nil { br = acquireReader(ctx) } err = ctx.Request.ContinueReadBody(br, maxRequestBodySize) - if br.Buffered() == 0 || err != nil { + if (s.ReduceMemoryUsage && br.Buffered() == 0) || err != nil { releaseReader(s, br) br = nil } @@ -1956,16 +1958,12 @@ func (s *Server) serveConn(c net.Conn) error { break } - if br == nil || connectionClose { - err = bw.Flush() - releaseWriter(s, bw) - bw = nil - if err != nil { - break - } - if connectionClose { - break - } + err = bw.Flush() + if err != nil { + break + } + if connectionClose { + break } if hijackHandler != nil {