Better error messages
This commit is contained in:
committed by
Jack Christensen
parent
89475c4c91
commit
e05abb83ec
@@ -13,7 +13,6 @@ package nbconn
|
|||||||
import (
|
import (
|
||||||
"crypto/tls"
|
"crypto/tls"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
|
||||||
"net"
|
"net"
|
||||||
"os"
|
"os"
|
||||||
"sync"
|
"sync"
|
||||||
@@ -162,11 +161,7 @@ func (c *NetConn) Read(b []byte) (n int, err error) {
|
|||||||
var readN int
|
var readN int
|
||||||
if readNonblocking {
|
if readNonblocking {
|
||||||
if setSockModeErr := c.SetBlockingMode(false); setSockModeErr != nil {
|
if setSockModeErr := c.SetBlockingMode(false); setSockModeErr != nil {
|
||||||
err = fmt.Errorf("cannot set socket to non-blocking mode: %w", setSockModeErr)
|
return n, setSockModeErr
|
||||||
}
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return n, err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
defer func() {
|
defer func() {
|
||||||
@@ -298,7 +293,7 @@ func (c *NetConn) flush() error {
|
|||||||
var errChan chan error
|
var errChan chan error
|
||||||
|
|
||||||
if err := c.SetBlockingMode(false); err != nil {
|
if err := c.SetBlockingMode(false); err != nil {
|
||||||
return fmt.Errorf("cannot set socket to non-blocking mode: %w", err)
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
defer func() {
|
defer func() {
|
||||||
@@ -349,7 +344,7 @@ func (c *NetConn) flush() error {
|
|||||||
|
|
||||||
func (c *NetConn) BufferReadUntilBlock() error {
|
func (c *NetConn) BufferReadUntilBlock() error {
|
||||||
if err := c.SetBlockingMode(false); err != nil {
|
if err := c.SetBlockingMode(false); err != nil {
|
||||||
return fmt.Errorf("cannot set socket to non-blocking mode: %w", err)
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
defer func() {
|
defer func() {
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ package nbconn
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
"fmt"
|
||||||
"golang.org/x/sys/windows"
|
"golang.org/x/sys/windows"
|
||||||
"io"
|
"io"
|
||||||
"syscall"
|
"syscall"
|
||||||
@@ -154,19 +155,20 @@ func (c *NetConn) SetBlockingMode(blocking bool) error {
|
|||||||
})
|
})
|
||||||
|
|
||||||
if ctrlErr != nil || err != nil {
|
if ctrlErr != nil || err != nil {
|
||||||
|
retErr := ctrlErr
|
||||||
|
if retErr == nil {
|
||||||
|
retErr = err
|
||||||
|
}
|
||||||
|
|
||||||
// Revert counters inc/dec in case of error
|
// Revert counters inc/dec in case of error
|
||||||
if blocking {
|
if blocking {
|
||||||
c.nbOperCnt.Add(1)
|
c.nbOperCnt.Add(1)
|
||||||
|
|
||||||
|
return fmt.Errorf("cannot set socket to blocking mode: %w", retErr)
|
||||||
} else {
|
} else {
|
||||||
c.nbOperCnt.Add(-1)
|
c.nbOperCnt.Add(-1)
|
||||||
}
|
|
||||||
|
|
||||||
if ctrlErr != nil {
|
return fmt.Errorf("cannot set socket to non-blocking mode: %w", retErr)
|
||||||
return ctrlErr
|
|
||||||
}
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user