aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaszlo Ersek <lersek@redhat.com>2012-01-27 14:34:05 +0100
committerAnthony Liguori <aliguori@us.ibm.com>2012-02-01 16:23:57 -0600
commit93dd748b789202af4f5be75412c58ee1ed481b29 (patch)
tree50b77d8d2bd0090d0f901522c0788811d62224b6
parentd34e8f6e9d3a396c3327aa9807c83f9e1f4a7bd7 (diff)
keep the PID file locked for the lifetime of the process
The lockf() call in qemu_create_pidfile() aims at ensuring mutual exclusion. We shouldn't close the pidfile on success (as introduced by commit 1bbd1592), because that drops the lock as well [1]: "File locks shall be released on first close by the locking process of any file descriptor for the file." Coverity may complain again about the leaked file descriptor; let's worry about that later. v1->v2: - add reference to 1bbd1592 - explain the intentional fd leak in the source [1] http://pubs.opengroup.org/onlinepubs/9699919799/functions/lockf.html Signed-off-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rw-r--r--os-posix.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/os-posix.c b/os-posix.c
index 5c437ca12c..e3ed497224 100644
--- a/os-posix.c
+++ b/os-posix.c
@@ -348,6 +348,6 @@ int qemu_create_pidfile(const char *filename)
return -1;
}
- close(fd);
+ /* keep pidfile open & locked forever */
return 0;
}