-
Notifications
You must be signed in to change notification settings - Fork 18.4k
Closed
Labels
FrozenDueToAgeNeedsFixThe path to resolution is known, but the work has not been done.The path to resolution is known, but the work has not been done.OS-Dragonfly
Milestone
Description
After CL 542275 was merged into the master branch, I played around with this new feature along with investigating some known issues like #64251. As a result of which, I discovered a few issues and potential improvements on different platforms.
For the starter, DragonFlyBSD switched the time unit for TCP keep-alive from milliseconds to seconds since v5.8 while Go still uses milliseconds up to now (CL 542275 wasn't aware of it):
go/src/net/tcpsockopt_dragonfly.go
Lines 13 to 20 in aaf8e84
func setKeepAlivePeriod(fd *netFD, d time.Duration) error { | |
// The kernel expects milliseconds so round to next highest | |
// millisecond. | |
msecs := int(roundDurationUp(d, time.Millisecond)) | |
if err := fd.pfd.SetsockoptInt(syscall.IPPROTO_TCP, syscall.TCP_KEEPINTVL, msecs); err != nil { | |
return wrapSyscallError("setsockopt", err) | |
} | |
err := fd.pfd.SetsockoptInt(syscall.IPPROTO_TCP, syscall.TCP_KEEPIDLE, msecs) |
I think that we need to keep Go in sync with that considering that Go makes no guarantee to support any older versions of DragonFlyBSD other than the latest one:
Generally only the latest release version only. We have a builder, but it’s not the most stable of our ports.
References:
Metadata
Metadata
Assignees
Labels
FrozenDueToAgeNeedsFixThe path to resolution is known, but the work has not been done.The path to resolution is known, but the work has not been done.OS-Dragonfly