Fix PID file writing in Haskell daemons
Currently, the code uses createFile, which has the effect of always truncating the file. This is bad, as the content of the PID file is wiped even when we wouldn't be able to lock it! We switch to openFd (createFile is just a wrapper over that), and we use an explicit set of flags; defaultFileFlags is already safe (trunc=False), but I prefer to set it explicitly with our desired flags. Note that this bug doesn't manifest in normal usage, as daemon-util won't try to start the daemon if already running. But if anyone or anything does call ganeti-confd explicitly, the pid file will be emptied and the daemon will keep trying to be restarted forever… Signed-off-by:Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
Loading
Please register or sign in to comment