Backport #17295 Fix #17294 Signed-off-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
		
							parent
							
								
									fde6ff6a75
								
							
						
					
					
						commit
						1e278b15c2
					
				
					 1 changed files with 3 additions and 3 deletions
				
			
		|  | @ -229,7 +229,7 @@ func (wl *wrappedListener) Accept() (net.Conn, error) { | ||||||
| 
 | 
 | ||||||
| 	closed := int32(0) | 	closed := int32(0) | ||||||
| 
 | 
 | ||||||
| 	c = wrappedConn{ | 	c = &wrappedConn{ | ||||||
| 		Conn:                 c, | 		Conn:                 c, | ||||||
| 		server:               wl.server, | 		server:               wl.server, | ||||||
| 		closed:               &closed, | 		closed:               &closed, | ||||||
|  | @ -264,7 +264,7 @@ type wrappedConn struct { | ||||||
| 	perWritePerKbTimeout time.Duration | 	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 { | 	if w.perWriteTimeout > 0 { | ||||||
| 		minTimeout := time.Duration(len(p)/1024) * w.perWritePerKbTimeout | 		minTimeout := time.Duration(len(p)/1024) * w.perWritePerKbTimeout | ||||||
| 		minDeadline := time.Now().Add(minTimeout).Add(w.perWriteTimeout) | 		minDeadline := time.Now().Add(minTimeout).Add(w.perWriteTimeout) | ||||||
|  | @ -278,7 +278,7 @@ func (w wrappedConn) Write(p []byte) (n int, err error) { | ||||||
| 	return w.Conn.Write(p) | 	return w.Conn.Write(p) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (w wrappedConn) Close() error { | func (w *wrappedConn) Close() error { | ||||||
| 	if atomic.CompareAndSwapInt32(w.closed, 0, 1) { | 	if atomic.CompareAndSwapInt32(w.closed, 0, 1) { | ||||||
| 		defer func() { | 		defer func() { | ||||||
| 			if err := recover(); err != nil { | 			if err := recover(); err != nil { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue