...
  
  Source file src/pkg/net/tcpsockopt_unix.go
     1	
     2	
     3	
     4	
     5	
     6	
     7	package net
     8	
     9	import (
    10		"runtime"
    11		"syscall"
    12		"time"
    13	)
    14	
    15	func setKeepAlivePeriod(fd *netFD, d time.Duration) error {
    16		
    17		d += (time.Second - time.Nanosecond)
    18		secs := int(d.Seconds())
    19		if err := fd.pfd.SetsockoptInt(syscall.IPPROTO_TCP, syscall.TCP_KEEPINTVL, secs); err != nil {
    20			return wrapSyscallError("setsockopt", err)
    21		}
    22		err := fd.pfd.SetsockoptInt(syscall.IPPROTO_TCP, syscall.TCP_KEEPIDLE, secs)
    23		runtime.KeepAlive(fd)
    24		return wrapSyscallError("setsockopt", err)
    25	}
    26	
View as plain text