]> source.dussan.org Git - gitea.git/commitdiff
Use pointer for wrappedConn methods (#17295)
authorzeripath <art27@cantab.net>
Tue, 12 Oct 2021 20:55:18 +0000 (21:55 +0100)
committerGitHub <noreply@github.com>
Tue, 12 Oct 2021 20:55:18 +0000 (21:55 +0100)
Fix #17294

Signed-off-by: Andrew Thornton <art27@cantab.net>
modules/graceful/server.go

index 23eb821c8c94c3d424c314e6ab70229d0dd22405..f7ec791d85d20a5fe4d5a9ba7f0dae887297d050 100644 (file)
@@ -228,7 +228,7 @@ func (wl *wrappedListener) Accept() (net.Conn, error) {
 
        closed := int32(0)
 
-       c = wrappedConn{
+       c = &wrappedConn{
                Conn:                 c,
                server:               wl.server,
                closed:               &closed,
@@ -263,7 +263,7 @@ type wrappedConn struct {
        perWritePerKbTimeout time.Duration
 }
 
-func (w wrappedConn) Write(p []byte) (n int, err error) {
+func (w *wrappedConn) Write(p []byte) (n int, err error) {
        if w.perWriteTimeout > 0 {
                minTimeout := time.Duration(len(p)/1024) * w.perWritePerKbTimeout
                minDeadline := time.Now().Add(minTimeout).Add(w.perWriteTimeout)
@@ -277,7 +277,7 @@ func (w wrappedConn) Write(p []byte) (n int, err error) {
        return w.Conn.Write(p)
 }
 
-func (w wrappedConn) Close() error {
+func (w *wrappedConn) Close() error {
        if atomic.CompareAndSwapInt32(w.closed, 0, 1) {
                defer func() {
                        if err := recover(); err != nil {