# HG changeset patch # User Brian Cully # Date 1278634569 -3600 # Node ID 0769cc5f34b6bac14b9b0754a9e1c1558f1d3ca3 # Parent 7893055e54d1d816f0c804356c35c31aef89507e mod_posix: Truncate the pidfile before writing to ensure that we never overwrite with a PID shorter than the previous, and end with an invalid PID in the file. diff -r 7893055e54d1 -r 0769cc5f34b6 plugins/mod_posix.lua --- a/plugins/mod_posix.lua Fri Jul 09 01:09:57 2010 +0100 +++ b/plugins/mod_posix.lua Fri Jul 09 01:16:09 2010 +0100 @@ -95,6 +95,11 @@ pidfile_handle = nil; prosody.shutdown("Prosody already running"); else + pidfile_handle, err = io.open(pidfile, "w+"); + if not pidfile_handle then + module:log("error", "Couldn't write pidfile at %s; %s", pidfile, err); + prosody.shutdown("Couldn't write pidfile"); + end pidfile_handle:write(tostring(pposix.getpid())); pidfile_handle:flush(); end