lib: Allow setsockopt functions to return size set

When finding a send/receive buffer size that is usable
let's report how big we were able to set it.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
This commit is contained in:
Donald Sharp 2024-12-03 18:38:59 -05:00
parent 267dc19825
commit d5615fd6f8
2 changed files with 8 additions and 4 deletions

View file

@ -19,7 +19,7 @@
#define HAVE_BSD_STRUCT_IP_MREQ_HACK
#endif
void setsockopt_so_recvbuf(int sock, int size)
int setsockopt_so_recvbuf(int sock, int size)
{
int orig_req = size;
@ -34,9 +34,11 @@ void setsockopt_so_recvbuf(int sock, int size)
flog_err(EC_LIB_SOCKET,
"%s: fd %d: SO_RCVBUF set to %d (requested %d)",
__func__, sock, size, orig_req);
return size;
}
void setsockopt_so_sendbuf(const int sock, int size)
int setsockopt_so_sendbuf(const int sock, int size)
{
int orig_req = size;
@ -51,6 +53,8 @@ void setsockopt_so_sendbuf(const int sock, int size)
flog_err(EC_LIB_SOCKET,
"%s: fd %d: SO_SNDBUF set to %d (requested %d)",
__func__, sock, size, orig_req);
return size;
}
int getsockopt_so_sendbuf(const int sock)

View file

@ -12,8 +12,8 @@
extern "C" {
#endif
extern void setsockopt_so_recvbuf(int sock, int size);
extern void setsockopt_so_sendbuf(const int sock, int size);
extern int setsockopt_so_recvbuf(int sock, int size);
extern int setsockopt_so_sendbuf(const int sock, int size);
extern int getsockopt_so_sendbuf(const int sock);
extern int getsockopt_so_recvbuf(const int sock);