本文整理汇总了Golang中syscall.Linger类的典型用法代码示例。如果您正苦于以下问题:Golang Linger类的具体用法?Golang Linger怎么用?Golang Linger使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Linger类的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))
}