@@ -419,14 +419,14 @@ func (r *retrier) Read(buf []byte) (n int, err error) {
419419 defer close (r .retryDoneCh ) // signal that retry is complete or unnecessary
420420 var retryerr error
421421 // retry on errs like timeouts or connection resets
422- for (c == nil || err != nil ) && r .canRetryLocked () {
422+ for (c == nil || core . IsNil ( c ) || err != nil ) && r .canRetryLocked () {
423423 r .retryCount ++
424424 n , retryerr = r .retryWriteReadLocked (buf )
425425 c = r .conn // re-assign c to newConn, if any; may be nil
426- if c == nil {
426+ if c == nil || core . IsNil ( c ) {
427427 err = core .UniqErr (err , retryerr )
428428 }
429- logeor (retryerr , log .I )("retrier: read# %d + (mult? %t / c: %d): [%s<=%s] %d; err? %v" ,
429+ logeor (retryerr , log .I )("retrier: read#%d + (mult? %t / c: %d): [%s<=%s] %d; err? %v" ,
430430 r .retryCount , r .multidial , r .nextDialerIdx , laddr (c ), r .raddr , n , retryerr )
431431 }
432432 if c != nil && core .IsNotNil (c ) {
@@ -478,7 +478,7 @@ func (r *retrier) Write(b []byte) (int, error) {
478478 note = log .I
479479 }
480480
481- logeor (err , note )("retrier: write: first?(%t) [%s =>%s] %d; 1st write-err? %v" ,
481+ logeor (err , note )("retrier: write: first?(%t) [%v =>%s] %d; 1st write-err? %v" ,
482482 sentAndCopied , src , r .raddr , n , err )
483483
484484 if sentAndCopied {
0 commit comments