From: Matthieu Baerts Date: Fri, 24 Feb 2023 16:51:59 +0000 (+0100) Subject: internal/poll: add GetsockoptInt X-Git-Tag: go1.21rc1~870 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=5a34790d6dd0b31b1070e0f7df9b0c57c2d62525;p=gostls13.git 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 --- 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) +}