File tree 1 file changed +17
-17
lines changed
1 file changed +17
-17
lines changed Original file line number Diff line number Diff line change @@ -124,32 +124,32 @@ func (mc *mysqlConn) writePacket(data []byte) error {
124
124
}
125
125
126
126
n , err := mc .netConn .Write (data [:4 + size ])
127
- if err == nil && n == 4 + size {
128
- mc .sequence ++
129
- if size != maxPacketSize {
130
- return nil
131
- }
132
- pktLen -= size
133
- data = data [size :]
134
- continue
135
- }
136
-
137
- // Handle error
138
- if err == nil { // n != len(data)
139
- mc .cleanup ()
140
- mc .log (ErrMalformPkt )
141
- } else {
127
+ if err != nil {
142
128
if cerr := mc .canceled .Value (); cerr != nil {
143
129
return cerr
144
130
}
131
+ mc .cleanup ()
145
132
if n == 0 && pktLen == len (data )- 4 {
146
133
// only for the first loop iteration when nothing was written yet
134
+ mc .log (err )
147
135
return errBadConnNoWrite
136
+ } else {
137
+ return err
148
138
}
139
+ }
140
+ if n != 4 + size {
141
+ // io.Writer(b) must return a non-nil error if it cannot write len(b) bytes.
142
+ // The io.ErrShortWrite error is used to indicate that this rule has not been followed.
149
143
mc .cleanup ()
150
- mc .log (err )
144
+ return io .ErrShortWrite
145
+ }
146
+
147
+ mc .sequence ++
148
+ if size != maxPacketSize {
149
+ return nil
151
150
}
152
- return ErrInvalidConn
151
+ pktLen -= size
152
+ data = data [size :]
153
153
}
154
154
}
155
155
You can’t perform that action at this time.
0 commit comments