From 19466ba249e6589ddf967a1ec3688bc3e7828daa Mon Sep 17 00:00:00 2001 From: c1982 Date: Fri, 10 Apr 2015 22:01:56 +0300 Subject: [PATCH] Added TCP_TIMEOUT Default tcp timeout 3minutes. change to optional in newCLAMDTcpConn function. --- conn.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/conn.go b/conn.go index df83253..d2a7464 100644 --- a/conn.go +++ b/conn.go @@ -35,6 +35,7 @@ import ( ) const CHUNK_SIZE = 1024 +const TCP_TIMEOUT = time.Second * 2 type CLAMDConn struct { net.Conn @@ -111,8 +112,13 @@ func (c *CLAMDConn) readResponse() (chan string, sync.WaitGroup, error) { } func newCLAMDTcpConn(address string) (*CLAMDConn, error) { - conn, err := net.Dial("tcp", address) + conn, err := net.DialTimeout("tcp", address, TCP_TIMEOUT) + if err != nil { + if nerr, isOk := err.(net.Error); isOk && nerr.Timeout() { + return nil, nerr + } + return nil, err }