浏览代码

Merge pull request #194 from goodinc/master

Enable TCP Keepalives on TCP connections to MySQL
Julien Schmidt 12 年之前
父节点
当前提交
45271d0947
共有 2 个文件被更改,包括 10 次插入0 次删除
  1. 1 0
      AUTHORS
  2. 9 0
      driver.go

+ 1 - 0
AUTHORS

@@ -11,6 +11,7 @@
 
 # Individual Persons
 
+Aaron Hopkins <go-sql-driver at die.net>
 Arne Hormann <arnehormann at gmail.com>
 Carlos Nieto <jose.carlos at menteslibres.net>
 DisposaBoy <disposaboy at dby.me>

+ 9 - 0
driver.go

@@ -56,6 +56,15 @@ func (d *MySQLDriver) Open(dsn string) (driver.Conn, error) {
 	if err != nil {
 		return nil, err
 	}
+
+	// Enable TCP Keepalives on TCP connections
+	if tc, ok := mc.netConn.(*net.TCPConn); ok {
+		if err := tc.SetKeepAlive(true); err != nil {
+			mc.Close()
+			return nil, err
+		}
+	}
+
 	mc.buf = newBuffer(mc.netConn)
 
 	// Reading Handshake Initialization Packet