本文整理汇总了Golang中syscall.Linger.Onoff方法的典型用法代码示例。如果您正苦于以下问题:Golang Linger.Onoff方法的具体用法?Golang Linger.Onoff怎么用?Golang Linger.Onoff使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类syscall.Linger
的用法示例。
在下文中一共展示了Linger.Onoff方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: setLinger
func setLinger(fd int, sec int) error {
var l syscall.Linger
if sec >= 0 {
l.Onoff = 1
l.Linger = int32(sec)
} else {
l.Onoff = 0
l.Linger = 0
}
return os.NewSyscallError("setsockopt", syscall.SetsockoptLinger(fd, syscall.SOL_SOCKET, syscall.SO_LINGER, &l))
}
示例2: setLinger
func setLinger(fd *netFD, sec int) os.Error {
var l syscall.Linger
if sec >= 0 {
l.Onoff = 1
l.Linger = int32(sec)
} else {
l.Onoff = 0
l.Linger = 0
}
e := syscall.SetsockoptLinger(fd.fd, syscall.SOL_SOCKET, syscall.SO_LINGER, &l)
return os.NewSyscallError("setsockopt", e)
}
示例3: setLinger
func setLinger(fd *netFD, sec int) error { // 设置Linger
var l syscall.Linger // 声明Linger结构
if sec >= 0 { // sec大于等于0,开启Linger
l.Onoff = 1
l.Linger = int32(sec)
} else { // sec小于0,关闭Linger
l.Onoff = 0
l.Linger = 0
}
if err := fd.incref(); err != nil { // 先增加fd的引用计数
return err
}
defer fd.decref() // 设置完成后减小fd的引用计数
return os.NewSyscallError("setsockopt", syscall.SetsockoptLinger(fd.sysfd, syscall.SOL_SOCKET, syscall.SO_LINGER, &l))
}