From: Mikio Hara Date: Mon, 8 Sep 2014 22:22:11 +0000 (+0900) Subject: net: don't set wrong option for controlling tcp keepalive on openbsd X-Git-Tag: go1.4beta1~470 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=1fadd9e1aed80d27799cecace3f3764048d8ddd3;p=gostls13.git net: don't set wrong option for controlling tcp keepalive on openbsd Fixes #8679. LGTM=iant R=golang-codereviews, iant CC=golang-codereviews https://golang.org/cl/141730043 --- diff --git a/src/net/tcpsockopt_openbsd.go b/src/net/tcpsockopt_openbsd.go index 3480f932c8..1644343114 100644 --- a/src/net/tcpsockopt_openbsd.go +++ b/src/net/tcpsockopt_openbsd.go @@ -2,26 +2,15 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// TCP socket options for openbsd - package net import ( - "os" "syscall" "time" ) -// Set keep alive period. func setKeepAlivePeriod(fd *netFD, d time.Duration) error { - if err := fd.incref(); err != nil { - return err - } - defer fd.decref() - - // The kernel expects seconds so round to next highest second. - d += (time.Second - time.Nanosecond) - secs := int(d.Seconds()) - - return os.NewSyscallError("setsockopt", syscall.SetsockoptInt(fd.sysfd, syscall.IPPROTO_TCP, syscall.SO_KEEPALIVE, secs)) + // OpenBSD has no user-settable per-socket TCP keepalive + // options. + return syscall.EPROTONOSUPPORT }