summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2018-03-07 21:56:42 +0100
committerCorinna Vinschen <corinna@vinschen.de>2018-03-07 21:56:42 +0100
commit7d525c171f79243de864d7a736d1cf85209b62db (patch)
treebe8ce6ae367fdb93904050e50799247e541a4559
parent483cbf89549545051717d3afabadf31c9c70c2f5 (diff)
downloadcygnal-7d525c171f79243de864d7a736d1cf85209b62db.tar.gz
cygnal-7d525c171f79243de864d7a736d1cf85209b62db.tar.bz2
cygnal-7d525c171f79243de864d7a736d1cf85209b62db.zip
Cygwin: AF_UNIX: implement getsockopt SO_RCVBUF/SO_SNDBUF
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
-rw-r--r--winsup/cygwin/fhandler_socket_unix.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/winsup/cygwin/fhandler_socket_unix.cc b/winsup/cygwin/fhandler_socket_unix.cc
index afd57fc42..388fbdf57 100644
--- a/winsup/cygwin/fhandler_socket_unix.cc
+++ b/winsup/cygwin/fhandler_socket_unix.cc
@@ -1780,6 +1780,16 @@ fhandler_socket_unix::getsockopt (int level, int optname, const void *optval,
break;
}
+ case SO_RCVBUF:
+ case SO_SNDBUF:
+ if (*optlen < (socklen_t) sizeof (int))
+ {
+ set_errno (EINVAL);
+ return -1;
+ }
+ *(int *) optval = (optname == SO_RCVBUF) ? rmem () : wmem ();
+ break;
+
case SO_RCVTIMEO:
case SO_SNDTIMEO:
{