title: Why net.DialTimeout get timeout half of the time?
body: <p>This is my test code, I set 6s timeout, but the program execute only for 3s, Why? </p>
  
  <pre><code>package main
  
  import "net"
  import "time"
  import "fmt"
  
  func main() {
      fmt.Println(time.Now())
      conn, err := net.DialTimeout("tcp", "google.com:80",6*time.Second) // chinese people can't access google
      fmt.Println(time.Now())
      fmt.Println(conn,err)
  }
  </code></pre>
  
  <p>Test result:</p>
  
  <pre><code>2016-05-18 16:21:31.325340213 +0800 CST
  2016-05-18 16:21:34.32909193 +0800 CST
  &lt;nil&gt; dial tcp 59.24.3.173:80: i/o timeout
  </code></pre>