Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin-developers AT sourceware DOT cygnus DOT com From: Chris Faylor Date: Wed, 24 Nov 1999 19:24:13 -0500 To: Kazuhiro Fujieda Cc: cygwin-developers AT sourceware DOT cygnus DOT com Subject: Re: cygwin_bind bug. Message-ID: <19991124192413.A12159@cygnus.com> Mail-Followup-To: Kazuhiro Fujieda , cygwin-developers AT sourceware DOT cygnus DOT com References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0i In-Reply-To: ; from fujieda@jaist.ac.jp on Thu, Nov 25, 1999 at 09:16:17AM +0900 Is this patch against the latest snapshot? Corinna has submitted some changes to some of this code recently. It is in the latest snapshot. cgf On Thu, Nov 25, 1999 at 09:16:17AM +0900, Kazuhiro Fujieda wrote: >cygwin_bind() with AF_UNIX can return 0 even though it fails. > >ChangeLog: >Thu Nov 25 08:55:42 1999 Kazuhiro Fujieda > * net.cc (cygwin_bind): Return -1 properly if it fails on AF_UNIX. > >--- net.cc- Thu Nov 25 08:31:53 1999 >+++ net.cc Thu Nov 25 08:55:42 1999 >@@ -757,6 +757,7 @@ cygwin_bind (int fd, struct sockaddr *my > struct sockaddr_in sin; > int len = sizeof sin; > int fd; >+ int inet_res; > > if (strlen (un_addr->sun_path) >= UNIX_PATH_LEN) > { >@@ -766,15 +767,15 @@ cygwin_bind (int fd, struct sockaddr *my > sin.sin_family = AF_INET; > sin.sin_port = 0; > sin.sin_addr.s_addr = htonl (INADDR_LOOPBACK); >- res = bind (sock->get_socket (), (sockaddr *) &sin, len); >- if (res) >+ inet_res = bind (sock->get_socket (), (sockaddr *) &sin, len); >+ if (inet_res) > { > set_winsock_errno (); > syscall_printf ("AF_UNIX: bind failed %d", get_errno ()); > goto out; > } >- res = getsockname (sock->get_socket (), (sockaddr *) &sin, &len); >- if (res) >+ inet_res = getsockname (sock->get_socket (), (sockaddr *) &sin, &len); >+ if (inet_res) > { > set_winsock_errno (); > syscall_printf ("AF_UNIX: getsockname failed %d", get_errno ()); > >____ > | AIST Kazuhiro Fujieda > | HOKURIKU School of Information Science >o_/ 1990 Japan Advanced Institute of Science and Technology -- cgf AT cygnus DOT com http://www.cygnus.com/