summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/denisenkom/go-mssqldb/net.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/denisenkom/go-mssqldb/net.go')
-rw-r--r--vendor/github.com/denisenkom/go-mssqldb/net.go20
1 files changed, 12 insertions, 8 deletions
diff --git a/vendor/github.com/denisenkom/go-mssqldb/net.go b/vendor/github.com/denisenkom/go-mssqldb/net.go
index 8c3c8ef8b1..e3864d1a22 100644
--- a/vendor/github.com/denisenkom/go-mssqldb/net.go
+++ b/vendor/github.com/denisenkom/go-mssqldb/net.go
@@ -14,7 +14,7 @@ type timeoutConn struct {
continueRead bool
}
-func NewTimeoutConn(conn net.Conn, timeout time.Duration) *timeoutConn {
+func newTimeoutConn(conn net.Conn, timeout time.Duration) *timeoutConn {
return &timeoutConn{
c: conn,
timeout: timeout,
@@ -48,9 +48,11 @@ func (c *timeoutConn) Read(b []byte) (n int, err error) {
n, err = c.buf.Read(b)
return
}
- err = c.c.SetDeadline(time.Now().Add(c.timeout))
- if err != nil {
- return
+ if c.timeout > 0 {
+ err = c.c.SetDeadline(time.Now().Add(c.timeout))
+ if err != nil {
+ return
+ }
}
return c.c.Read(b)
}
@@ -58,7 +60,7 @@ func (c *timeoutConn) Read(b []byte) (n int, err error) {
func (c *timeoutConn) Write(b []byte) (n int, err error) {
if c.buf != nil {
if !c.packetPending {
- c.buf.BeginPacket(packPrelogin)
+ c.buf.BeginPacket(packPrelogin, false)
c.packetPending = true
}
n, err = c.buf.Write(b)
@@ -67,9 +69,11 @@ func (c *timeoutConn) Write(b []byte) (n int, err error) {
}
return
}
- err = c.c.SetDeadline(time.Now().Add(c.timeout))
- if err != nil {
- return
+ if c.timeout > 0 {
+ err = c.c.SetDeadline(time.Now().Add(c.timeout))
+ if err != nil {
+ return
+ }
}
return c.c.Write(b)
}