code: func (s *NetlinkSocket) SetReceiveTimeout(timeout *unix.Timeval) error {
  	// Set a read timeout of SOCKET_READ_TIMEOUT, this will allow the Read to periodically unblock and avoid that a routine
  	// remains stuck on a recvmsg on a closed fd
  	return unix.SetsockoptTimeval(int(s.fd), unix.SOL_SOCKET, unix.SO_RCVTIMEO, timeout)
  }
docs: // SetReceiveTimeout allows to set a receive timeout on the socket