diff options
author | Drew DeVault <sir@cmpwn.com> | 2017-11-22 08:33:36 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-22 08:33:36 -0500 |
commit | b083b1708b208c9f9b5332ee291ffc0f7ef3b44d (patch) | |
tree | dc5c6897d27469190d8ac3f9f311ce67e03c26dc /xwayland/sockets.c | |
parent | e6bf92cf02be8587e14d32f214467b09da40d9ff (diff) | |
parent | 1ae944c07189b54d5d7458a2d0efaa39fbbac457 (diff) |
Merge pull request #444 from myfreeweb/master
Xwayland signal confusion fix & non-Linux socket path fix
Diffstat (limited to 'xwayland/sockets.c')
-rw-r--r-- | xwayland/sockets.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/xwayland/sockets.c b/xwayland/sockets.c index dd732dd7..2119056d 100644 --- a/xwayland/sockets.c +++ b/xwayland/sockets.c @@ -21,6 +21,9 @@ static const char *lock_fmt = "/tmp/.X%d-lock"; static const char *socket_dir = "/tmp/.X11-unix"; static const char *socket_fmt = "/tmp/.X11-unix/X%d"; +#ifndef __linux__ +static const char *socket_fmt2 = "/tmp/.X11-unix/X%d_"; +#endif static int open_socket(struct sockaddr_un *addr, size_t path_size) { int fd, rc; @@ -73,7 +76,7 @@ static bool open_sockets(int socks[2], int display) { addr.sun_path[0] = 0; path_size = snprintf(addr.sun_path + 1, sizeof(addr.sun_path) - 1, socket_fmt, display); #else - path_size = snprintf(addr.sun_path, sizeof(addr.sun_path), socket_fmt, display); + path_size = snprintf(addr.sun_path, sizeof(addr.sun_path), socket_fmt2, display); #endif socks[0] = open_socket(&addr, path_size); if (socks[0] < 0) { @@ -97,6 +100,11 @@ void unlink_display_sockets(int display) { snprintf(sun_path, sizeof(sun_path), socket_fmt, display); unlink(sun_path); +#ifndef __linux__ + snprintf(sun_path, sizeof(sun_path), socket_fmt2, display); + unlink(sun_path); +#endif + snprintf(sun_path, sizeof(sun_path), lock_fmt, display); unlink(sun_path); } |