本文整理匯總了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))
}