From 5a34790d6dd0b31b1070e0f7df9b0c57c2d62525 Mon Sep 17 00:00:00 2001 From: Matthieu Baerts Date: Fri, 24 Feb 2023 17:51:59 +0100 Subject: [PATCH] internal/poll: add GetsockoptInt This new function wraps the getsockopt network call with an integer argument, similar to SetsockoptInt. This will be used in MPTCP in the following commit. This work has been co-developed by Gregory Detal . Updates #59166 Change-Id: I8f6aa00ea2535683d9bbf436993c23e9c6ca2af3 Reviewed-on: https://go-review.googlesource.com/c/go/+/471139 Reviewed-by: Bryan Mills Auto-Submit: Ian Lance Taylor Reviewed-by: Emmanuel Odeke Reviewed-by: Ian Lance Taylor Run-TryBot: Ian Lance Taylor TryBot-Result: Gopher Robot --- src/internal/poll/sockopt.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/internal/poll/sockopt.go b/src/internal/poll/sockopt.go index a7c9d115b4..a87a9e6413 100644 --- a/src/internal/poll/sockopt.go +++ b/src/internal/poll/sockopt.go @@ -34,3 +34,12 @@ func (fd *FD) SetsockoptLinger(level, name int, l *syscall.Linger) error { defer fd.decref() return syscall.SetsockoptLinger(fd.Sysfd, level, name, l) } + +// GetsockoptInt wraps the getsockopt network call with an int argument. +func (fd *FD) GetsockoptInt(level, name int) (int, error) { + if err := fd.incref(); err != nil { + return -1, err + } + defer fd.decref() + return syscall.GetsockoptInt(fd.Sysfd, level, name) +} -- 2.48.1