From 1fadd9e1aed80d27799cecace3f3764048d8ddd3 Mon Sep 17 00:00:00 2001 From: Mikio Hara Date: Tue, 9 Sep 2014 07:22:11 +0900 Subject: [PATCH] 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 --- src/net/tcpsockopt_openbsd.go | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) 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 }