From 5369605f4f7a8275f47e695856d42dc39bcbd3e3 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Sun, 29 Jan 2006 12:23:44 +0000 Subject: * fhandler.h (class fhandler_socket): Add saw_reuseaddr status flag. * fhandler_socket.cc (fhandler_socket::bind): Set socket to SO_EXCLUSIVEADDRUSE if application didn't explicitely set SO_REUSEADDR socket option, on systems supporting SO_EXCLUSIVEADDRUSE. * net.cc (cygwin_setsockopt): Set fhandler's saw_reuseaddr status flag if SO_REUSEADDR socket option has been successsfully set. * wincap.h (wincaps::has_exclusiveaddruse): New element. * wincap.cc: Implement above element throughout. --- winsup/cygwin/net.cc | 2 ++ 1 file changed, 2 insertions(+) (limited to 'winsup/cygwin/net.cc') diff --git a/winsup/cygwin/net.cc b/winsup/cygwin/net.cc index d56bb974c..91d18fd65 100644 --- a/winsup/cygwin/net.cc +++ b/winsup/cygwin/net.cc @@ -722,6 +722,8 @@ cygwin_setsockopt (int fd, int level, int optname, const void *optval, else set_winsock_errno (); } + else if (level == SOL_SOCKET && optname == SO_REUSEADDR) + fh->saw_reuseaddr (*(int *) optval); } syscall_printf ("%d = setsockopt (%d, %d, %x, %p, %d)", -- cgit v1.2.3