https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=df14d97fff68fc9597b5769a3a077c73e38859d7

commit df14d97fff68fc9597b5769a3a077c73e38859d7
Author: Corinna Vinschen <[email protected]>
Date:   Fri Mar 2 23:40:36 2018 +0100

    Cygwin: AF_UNIX: drop try/except block in bind method
    
    The caller already does it anyway.
    
    Signed-off-by: Corinna Vinschen <[email protected]>

Diff:
---
 winsup/cygwin/fhandler_socket_unix.cc | 48 +++++++++++++++--------------------
 1 file changed, 21 insertions(+), 27 deletions(-)

diff --git a/winsup/cygwin/fhandler_socket_unix.cc 
b/winsup/cygwin/fhandler_socket_unix.cc
index 2a43900..36a3cb3 100644
--- a/winsup/cygwin/fhandler_socket_unix.cc
+++ b/winsup/cygwin/fhandler_socket_unix.cc
@@ -604,35 +604,29 @@ fhandler_socket_unix::socketpair (int af, int type, int 
protocol, int flags,
 int
 fhandler_socket_unix::bind (const struct sockaddr *name, int namelen)
 {
-  __try
-    {
-      sun_name_t sun (name, namelen);
-      bool unnamed = (sun.un_len == sizeof sun.un.sun_family);
-      HANDLE pipe = NULL;
+  sun_name_t sun (name, namelen);
+  bool unnamed = (sun.un_len == sizeof sun.un.sun_family);
+  HANDLE pipe = NULL;
 
-      if (get_handle ())
-       {
-         set_errno (EINVAL);
-         __leave;
-       }
-      gen_pipe_name ();
-      pipe = create_pipe ();
-      if (pipe)
-       {
-         file = unnamed ? autobind (&sun) : create_file (&sun);
-         if (!file)
-           {
-             NtClose (pipe);
-             __leave;
-           }
-         set_io_handle (pipe);
-         set_sun_path (&sun);
-         return 0;
-       }
+  /* If we have a handle, we're already bound. */
+  if (get_handle () || sun.un.sun_family != AF_UNIX)
+    {
+      set_errno (EINVAL);
+      return -1;
     }
-  __except (EFAULT) {}
-  __endtry
-  return -1;
+  gen_pipe_name ();
+  pipe = create_pipe ();
+  if (!pipe)
+    return -1;
+  file = unnamed ? autobind (&sun) : create_file (&sun);
+  if (!file)
+    {
+      NtClose (pipe);
+      return -1;
+    }
+  set_io_handle (pipe);
+  set_sun_path (&sun);
+  return 0;
 }
 
 int

Reply via email to