diff options
-rw-r--r-- | src/xserver-launcher.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/xserver-launcher.c b/src/xserver-launcher.c index d3657c8..88ceb0c 100644 --- a/src/xserver-launcher.c +++ b/src/xserver-launcher.c @@ -1654,9 +1654,13 @@ create_lockfile(int display, char *lockfile, size_t lsize) /* stale lock file; unlink and try again */ fprintf(stderr, "unlinking stale lock file %s\n", lockfile); - unlink(lockfile); - errno = EAGAIN; close(fd); + if (unlink(lockfile)) + /* If we fail to unlink, return EEXIST + so we try the next display number.*/ + errno = EEXIST; + else + errno = EAGAIN; return -1; } |