diff options
author | Laszlo Ersek <lersek@redhat.com> | 2012-01-27 14:34:05 +0100 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2012-02-01 16:23:57 -0600 |
commit | 93dd748b789202af4f5be75412c58ee1ed481b29 (patch) | |
tree | 50b77d8d2bd0090d0f901522c0788811d62224b6 /os-posix.c | |
parent | d34e8f6e9d3a396c3327aa9807c83f9e1f4a7bd7 (diff) | |
download | qemu-93dd748b789202af4f5be75412c58ee1ed481b29.tar.gz qemu-93dd748b789202af4f5be75412c58ee1ed481b29.tar.bz2 qemu-93dd748b789202af4f5be75412c58ee1ed481b29.zip |
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>
Diffstat (limited to 'os-posix.c')
-rw-r--r-- | os-posix.c | 2 |
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; } |