Source File
conncheck.go
Belonging Package
github.com/go-sql-driver/mysql
// Go MySQL Driver - A MySQL-Driver for Go's database/sql package
//
// Copyright 2019 The Go-MySQL-Driver Authors. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
// You can obtain one at http://mozilla.org/MPL/2.0/.
//go:build linux || darwin || dragonfly || freebsd || netbsd || openbsd || solaris || illumos
// +build linux darwin dragonfly freebsd netbsd openbsd solaris illumos
package mysql
import (
)
var errUnexpectedRead = errors.New("unexpected read from socket")
func connCheck( net.Conn) error {
var error
, := .(syscall.Conn)
if ! {
return nil
}
, := .SyscallConn()
if != nil {
return
}
= .Read(func( uintptr) bool {
var [1]byte
, := syscall.Read(int(), [:])
switch {
case == 0 && == nil:
= io.EOF
case > 0:
= errUnexpectedRead
case == syscall.EAGAIN || == syscall.EWOULDBLOCK:
= nil
default:
=
}
return true
})
if != nil {
return
}
return
}
![]() |
The pages are generated with Golds v0.6.7. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |