Commit 93dd748b authored by Laszlo Ersek's avatar Laszlo Ersek Committed by Anthony Liguori
Browse files

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: default avatarLaszlo Ersek <lersek@redhat.com>
Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
parent d34e8f6e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -348,6 +348,6 @@ int qemu_create_pidfile(const char *filename)
        return -1;
    }

    close(fd);
    /* keep pidfile open & locked forever */
    return 0;
}