From e5cf7416695c2e9454d025df63dbaa2fb6d4e4c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Mon, 9 Apr 2012 22:14:52 -0400 Subject: [PATCH] xserver: Return EEXIST if unlinking lockfile fails Otherwise we'll keep trying to unlink it. --- src/xserver-launcher.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/xserver-launcher.c b/src/xserver-launcher.c index d3657c82..88ceb0c4 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; }