Commit 562311db authored by Olivier Fourdan's avatar Olivier Fourdan 🛠 Committed by Alan Coopersmith
Browse files

Allow partial connection to succeed

Xwayland can optionally be socket-activated by the Wayland compositor,
in which case it would use only the sockets provided by the compositor.

However, that prevents other transport protocol from working, because
when it's given a socket from the Wayland compositor, it would disable
all other connections and rely solely on the given socket.

Change `MakeAllCOTSServerListeners` to allow for partial connections so
that if `partial` is set to a non-zero value by the caller, we do not
bail out in the address is already in use.

That allows the continue trying with other protocols even if the local
conenction fails (as this is already handled by the socket from the
Wayland compositor).

Related: xorg/xserver#817

Signed-off-by: Olivier Fourdan's avatarOlivier Fourdan <>
parent 3309c759
Pipeline #582462 passed with stages
in 1 minute and 55 seconds
......@@ -1170,6 +1170,9 @@ TRANS(MakeAllCOTSServerListeners) (const char *port, int *partial,
if ((status = TRANS(CreateListener (ciptr, port, flags))) < 0)
if (*partial != 0)
if (status == TRANS_ADDR_IN_USE)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment