Skip to content

Commit

Permalink
net: don't set wrong option for controlling tcp keepalive on openbsd
Browse files Browse the repository at this point in the history
Fixes golang#8679.

LGTM=iant
R=golang-codereviews, iant
CC=golang-codereviews
https://golang.org/cl/141730043
  • Loading branch information
cixtor authored and wheatman committed Jun 25, 2018
1 parent 44d0780 commit bebe530
Showing 1 changed file with 3 additions and 14 deletions.
17 changes: 3 additions & 14 deletions src/net/tcpsockopt_openbsd.go
Expand Up @@ -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
}

0 comments on commit bebe530

Please sign in to comment.