]> Cypherpunks repositories - gostls13.git/commitdiff
net: don't set wrong option for controlling tcp keepalive on openbsd
authorMikio Hara <mikioh.mikioh@gmail.com>
Mon, 8 Sep 2014 22:22:11 +0000 (07:22 +0900)
committerMikio Hara <mikioh.mikioh@gmail.com>
Mon, 8 Sep 2014 22:22:11 +0000 (07:22 +0900)
Fixes #8679.

LGTM=iant
R=golang-codereviews, iant
CC=golang-codereviews
https://golang.org/cl/141730043

src/net/tcpsockopt_openbsd.go

index 3480f932c8007791cea7d6002cdb8669aec1b3dc..1644343114e2aaf75db62e09692da180843e0052 100644 (file)
@@ -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
 }