File tree 2 files changed +23
-22
lines changed
2 files changed +23
-22
lines changed Original file line number Diff line number Diff line change @@ -19,35 +19,36 @@ import (
19
19
20
20
var errUnexpectedRead = errors .New ("unexpected read from socket" )
21
21
22
- func connCheck (c net.Conn ) error {
23
- var (
24
- n int
25
- err error
26
- buff [1 ]byte
27
- )
28
-
29
- sconn , ok := c .(syscall.Conn )
22
+ func connCheck (conn net.Conn ) error {
23
+ var sysErr error
24
+
25
+ sysConn , ok := conn .(syscall.Conn )
30
26
if ! ok {
31
27
return nil
32
28
}
33
- rc , err := sconn .SyscallConn ()
29
+ rawConn , err := sysConn .SyscallConn ()
34
30
if err != nil {
35
31
return err
36
32
}
37
- rerr := rc .Read (func (fd uintptr ) bool {
38
- n , err = syscall .Read (int (fd ), buff [:])
33
+
34
+ err = rawConn .Read (func (fd uintptr ) bool {
35
+ var buf [1 ]byte
36
+ n , err := syscall .Read (int (fd ), buf [:])
37
+ switch {
38
+ case n == 0 && err == nil :
39
+ sysErr = io .EOF
40
+ case n > 0 :
41
+ sysErr = errUnexpectedRead
42
+ case err == syscall .EAGAIN || err == syscall .EWOULDBLOCK :
43
+ sysErr = nil
44
+ default :
45
+ sysErr = err
46
+ }
39
47
return true
40
48
})
41
- switch {
42
- case rerr != nil :
43
- return rerr
44
- case n == 0 && err == nil :
45
- return io .EOF
46
- case n > 0 :
47
- return errUnexpectedRead
48
- case err == syscall .EAGAIN || err == syscall .EWOULDBLOCK :
49
- return nil
50
- default :
49
+ if err != nil {
51
50
return err
52
51
}
52
+
53
+ return sysErr
53
54
}
Original file line number Diff line number Diff line change @@ -12,6 +12,6 @@ package mysql
12
12
13
13
import "net"
14
14
15
- func connCheck (c net.Conn ) error {
15
+ func connCheck (conn net.Conn ) error {
16
16
return nil
17
17
}
You can’t perform that action at this time.
0 commit comments