mirror of https://github.com/fatedier/frp
Fix CloseNotifyConn.Close function (#5022)
The CloseNotifyConn.Close() function calls itself if the closeFlag is equal to 0 which would mean it would immediately swap the closeFlag value to 1 and never call closeFn. It is unclear what the intent of this call to cc.Close() was but I assume it was meant to be a call to close the Conn object instead.dev
parent
e382676659
commit
ee3cc4b14e
|
@ -149,7 +149,7 @@ func WrapCloseNotifyConn(c net.Conn, closeFn func()) net.Conn {
|
||||||
func (cc *CloseNotifyConn) Close() (err error) {
|
func (cc *CloseNotifyConn) Close() (err error) {
|
||||||
pflag := atomic.SwapInt32(&cc.closeFlag, 1)
|
pflag := atomic.SwapInt32(&cc.closeFlag, 1)
|
||||||
if pflag == 0 {
|
if pflag == 0 {
|
||||||
err = cc.Close()
|
err = cc.Conn.Close()
|
||||||
if cc.closeFn != nil {
|
if cc.closeFn != nil {
|
||||||
cc.closeFn()
|
cc.closeFn()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue