1
0
mirror of https://github.com/golang/go synced 2024-09-25 05:10:12 -06:00

net: make use of SO_LINGER_SEC on darwin

Fixes #7971.

LGTM=iant
R=golang-codereviews, iant
CC=golang-codereviews
https://golang.org/cl/92210044
This commit is contained in:
Mikio Hara 2014-05-13 00:38:36 +09:00
parent f409681925
commit 900d49bf17

View File

@ -8,6 +8,7 @@ package net
import (
"os"
"runtime"
"syscall"
)
@ -137,5 +138,9 @@ func setLinger(fd *netFD, sec int) error {
return err
}
defer fd.decref()
return os.NewSyscallError("setsockopt", syscall.SetsockoptLinger(fd.sysfd, syscall.SOL_SOCKET, syscall.SO_LINGER, &l))
opt := syscall.SO_LINGER
if runtime.GOOS == "darwin" {
opt = syscall.SO_LINGER_SEC
}
return os.NewSyscallError("setsockopt", syscall.SetsockoptLinger(fd.sysfd, syscall.SOL_SOCKET, opt, &l))
}