[mutter/wip/wayland-display: 12/62] squash: Fix the logic for falling back to a non-abstract unix socket



commit 4524350a66592dc53a2cc2b9c370925ea909b129
Author: Neil Roberts <neil linux intel com>
Date:   Fri Jul 5 14:27:01 2013 +0100

    squash: Fix the logic for falling back to a non-abstract unix socket
    
    This should be squashed into the commit:
    “wayland: Adds basic hybrid X + Wayland support”
    
    Based on this clayland commit:
    https://github.com/clutter-project/clayland/commit/be1bc97ca4374ca9

 src/wayland/meta-wayland.c |   30 ++++++++++++++++++++----------
 1 files changed, 20 insertions(+), 10 deletions(-)
---
diff --git a/src/wayland/meta-wayland.c b/src/wayland/meta-wayland.c
index bff5f1a..eb31b8c 100644
--- a/src/wayland/meta-wayland.c
+++ b/src/wayland/meta-wayland.c
@@ -1260,18 +1260,28 @@ start_xwayland (MetaWaylandCompositor *compositor)
         }
 
       compositor->xwayland_abstract_fd = bind_to_abstract_socket (display);
-      if (compositor->xwayland_abstract_fd < 0 ||
-          compositor->xwayland_abstract_fd == EADDRINUSE)
-        {
-          unlink (lockfile);
-          display++;
-          continue;
-        }
-      compositor->xwayland_unix_fd = bind_to_unix_socket (display);
       if (compositor->xwayland_abstract_fd < 0)
         {
-          unlink (lockfile);
-          return FALSE;
+          if (errno == EADDRINUSE)
+            {
+              unlink (lockfile);
+              display++;
+              continue;
+            }
+
+          compositor->xwayland_unix_fd = bind_to_unix_socket (display);
+          if (compositor->xwayland_abstract_fd < 0)
+            {
+              unlink (lockfile);
+
+              if (errno == EADDRINUSE)
+                {
+                  display++;
+                  continue;
+                }
+              else
+                return FALSE;
+            }
         }
 
       break;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]